confi-emacs-actual/configs/init-company.el

62 lines
2.1 KiB
EmacsLisp

;;; init-company.el --- Autocompletado con company-mode -*- 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 company.
;; Company, de manera resumida, es el que nos muestra el autocompletado
;; en Emacs, tanto para código como para otro tipo de textos.
;;; Code:
(use-package company
:defer t
:straight t
:defines (company-dabbrev-ignore-case company-dabbrev-downcase)
:custom-face
(company-box-selection ((t (:inherit company-tooltip :weight semibold :extend t))))
:hook (after-init . global-company-mode)
:bind (
:map company-active-map
("<tab>" . company-indent-or-complete-common) ; Completar con tab como en la terminal de linux
("<escape>" . company-abort) ; Cerrar company con ESC
)
:config
(setq company-tooltip-align-annotations t
company-tooltip-limit 12
company-idle-delay 0.5 ; mostrar autocompletado luego de medio segundo mostrar
company-echo-delay (if (display-graphic-p) nil 0)
company-minimum-prefix-length 1 ; mostrar autocompletado desde que se coloca la primera letra.
company-icon-margin 3
company-require-match nil
company-dabbrev-ignore-case nil
company-dabbrev-downcase nil ; autocompletado case-sensitive.
company-global-modes '(not erc-mode message-mode help-mode
gud-mode eshell-mode shell-mode))
(add-to-list 'company-backends 'company-paths)
)
;; Rutas en company
(use-package company-paths
:straight (company-paths :type git :host github :repo "emacs-vs/company-paths")
:defer t
:after (company-mode)
)
;; Hacer que el autocompletado se vea más bonito con íconos
(use-package company-box
:defer t
:straight t
:diminish
:hook (company-mode . company-box-mode)
:config
(setq company-box-backends-colors nil
company-box-doc-delay 0.1
company-box-scrollbar 'right)
)
(provide 'init-company)
;;; init-company.el ends here