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

62 lines
1.8 KiB
EmacsLisp

;;; init-eglot.el --- Configuración de eglot (LSP) -*- lexical-binding: t -*-
;; Author: kj <webmaster@outcontrol.net>
;; URL: https://git.kj2.me/kj/confi-emacs-actual
;;; Commentary:
;;; Code:
(use-package eglot
:defer t
:straight (:type built-in)
:hook ((css-mode . eglot-ensure)
(html-mode . eglot-ensure)
(php-mode . eglot-ensure)
(rust-mode . eglot-ensure)
(sh-mode . eglot-ensure))
:config
;; (add-to-list 'eglot-server-programs '(php-mode . ("intelephense" "--stdio")))
(add-to-list 'eglot-server-programs '(php-mode . ("phpactor" "language-server" "-vvv")))
(setq eglot-stay-out-of '(company))
;; (add-to-list 'eglot-ignored-server-capabilites :hoverProvider)
;; (add-to-list 'eglot-server-programs '(css-mode . ("vscode-css-language-server" "--stdio")))
;; (add-to-list 'eglot-server-programs '(html-mode . ("vscode-html-language-server" "--stdio")))
;; (add-hook 'eglot--managed-mode-hook (lambda () (flymake-mode -1)))
)
;; Emmet (mientras veo como hacer funcionar emmet-ls)
(use-package emmet-mode
:defer t
:straight t
:hook
((html-mode . emmet-mode)
(web-mode . emmet-mode))
)
;; Revisar por errores en el código
(use-package flymake
:defer t
:straight (:type built-in)
:hook (prog-mode . (lambda ()
(unless (derived-mode-p 'makefile-mode)
(flymake-mode))))
)
;; Mostar los errores de flymake en un popup-tip
(use-package flymake-diagnostic-at-point
:defer t
:straight t
:after flymake
:hook (flymake-mode . flymake-diagnostic-at-point-mode))
;; Mostrar eldoc en un popup
;; (use-package eldoc-box
;; :defer t
;; :straight t
;; :hook (eldoc-mode-hook . eldoc-box-hover-at-point-mode ))
(provide 'init-eglot)
;;; init-eglot.el ends here