;;; init-corfu.el --- Autocompletado con corfu -*- lexical-binding: t -*- ;; Author: kj ;; URL: https://git.kj2.me/kj/confi-emacs-actual ;;; Commentary: ;; Archivo de configuración específico para el paquete corfu. ;; Corfu, de manera resumida, es el que nos muestra el autocompletado ;; en Emacs, tanto para código como para otro tipo de textos. ;; ;; Este paquete viene a ser una alternativa a Company, por lo ;; que no se deberían activar los 2 al mismo tiempo. ;;; Code: (use-package corfu :defer t :straight (corfu :files (:defaults "extensions/*") :includes (corfu-info corfu-history)) :hook ((after-init . global-corfu-mode) (corfu-mode . corfu-popupinfo-mode)) :bind (("" . corfu-quit) ("" . corfu-insert-separator) :map corfu-map ([tab] . nil)) :custom (corfu-auto t) :config (setq corfu-popupinfo-delay 0 corfu-auto-prefix 1 corfu-cycle t corfu-preview-current nil corfu-quit-no-match t) ) (use-package cape :straight (cape :type git :host github :repo "minad/cape") :after corfu :init ;; (advice-add 'eglot-completion-at-point :around #'cape-wrap-buster) (advice-add #'eglot-completion-at-point :around #'cape-wrap-nonexclusive) (add-to-list 'completion-at-point-functions #'cape-dabbrev) (add-to-list 'completion-at-point-functions #'cape-file) ;; (add-to-list 'completion-at-point-functions #'cape-line) ) ;; Hacer que corfu funcione en la terminal (unless (display-graphic-p) (use-package corfu-terminal :straight (corfu-terminal :type git :repo "https://codeberg.org/akib/emacs-corfu-terminal.git") :config (corfu-terminal-mode +1)) ) ;; Iconos en corfu (use-package kind-icon :ensure t :straight t :after corfu :custom (kind-icon-default-face 'corfu-default) ; to compute blended backgrounds correctly :config (add-to-list 'corfu-margin-formatters #'kind-icon-margin-formatter)) (provide 'init-corfu) ;;; init-corfu.el ends here