77 lines
2.2 KiB
EmacsLisp
77 lines
2.2 KiB
EmacsLisp
;;; init-corfu.el --- Autocompletado con corfu -*- lexical-binding: t -*-
|
|
|
|
;; Author: kj <webmaster@outcontrol.net>
|
|
;; 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
|
|
:elpaca (:files (:defaults "extensions/*")
|
|
:includes (corfu-info corfu-history))
|
|
:hook ((elpaca-after-init . global-corfu-mode)
|
|
(corfu-mode . corfu-popupinfo-mode))
|
|
:bind (("<escape>" . corfu-quit)
|
|
("<SPC>" . corfu-insert-separator)
|
|
:map corfu-map
|
|
([tab] . nil))
|
|
:custom
|
|
(corfu-auto t)
|
|
:config
|
|
(setq corfu-popupinfo-delay 0
|
|
;; corfu-auto-delay 0.5
|
|
corfu-auto-prefix 1
|
|
corfu-cycle t
|
|
corfu-preview-current nil
|
|
corfu-quit-no-match t)
|
|
)
|
|
|
|
(use-package orderless
|
|
:defer t
|
|
:config
|
|
(setq completion-styles '(orderless basic)
|
|
completion-category-defaults nil
|
|
completion-category-overrides '((file (styles partial-completion)))))
|
|
|
|
(use-package cape
|
|
:elpaca (: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
|
|
:elpaca (:repo "https://codeberg.org/akib/emacs-corfu-terminal.git")
|
|
:config
|
|
(corfu-terminal-mode +1))
|
|
)
|
|
|
|
;; Iconos en corfu
|
|
(use-package kind-icon
|
|
:ensure 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
|