Compare commits

..

2 Commits

2 changed files with 35 additions and 22 deletions

View File

@@ -100,7 +100,7 @@
;; Backend y modelo por defecto ;; Backend y modelo por defecto
(setq gptel-backend (gptel-get-backend "OpenCode Go") (setq gptel-backend (gptel-get-backend "OpenCode Go")
gptel-model 'mimo-v2.5) gptel-model 'mimo-v2.5-free)
(setq gptel-default-mode 'markdown-mode (setq gptel-default-mode 'markdown-mode
gptel-prompt-prefix-alist gptel-prompt-prefix-alist
@@ -227,7 +227,15 @@ content do not break gptel-magit."
;; Desactivar guardado de transcripciones y prompt al cerrar ;; Desactivar guardado de transcripciones y prompt al cerrar
(setq agent-shell-transcript-file-path-function nil) (setq agent-shell-transcript-file-path-function nil)
(setq shell-maker-prompt-before-killing-buffer nil)) (setq shell-maker-prompt-before-killing-buffer nil)
;; Quitar cape-dabbrev y cape-history de agent-shell (evita autocompletar texto del buffer)
(add-hook 'agent-shell-mode-hook
(lambda ()
(setq-local completion-at-point-functions
(seq-remove (lambda (fn)
(memq fn '(cape-dabbrev cape-history)))
completion-at-point-functions)))))
(provide 'init-ai) (provide 'init-ai)
;;; init-ai.el ends here ;;; init-ai.el ends here

View File

@@ -78,29 +78,34 @@
;; (flymake-mode)))) ;; (flymake-mode))))
:init :init
(remove-hook 'flymake-diagnostic-functions 'flymake-proc-legacy-flymake) (remove-hook 'flymake-diagnostic-functions 'flymake-proc-legacy-flymake)
)
(use-package flycheck
:init (global-flycheck-mode)
:config :config
(setq-default flycheck-global-modes '(not org-mode)) ;; Workaround de bug#81786 (flymake): la rama no-ratón del `interactive'
(setq flycheck-indication-mode nil ;; de `flymake-show-buffer-diagnostics' devolvía la LISTA de diagnósticos
flycheck-phpcs-standard "PSR12")) ;; solapados en el punto y Emacs la reexpandía como argumentos
;; ("Wrong number of arguments: ..., N"). Arreglado en emacs-31/31.2 y
;; pendiente de fusionar a master; borrar cuando tu flymake incluya el fix.
(defun flymake--one-diag-filter (args)
"Keep only the first diagnostic of ARGS (bug#81786 workaround)."
(if (cdr args) (list (car args)) args))
(advice-add 'flymake-show-buffer-diagnostics
:filter-args #'flymake--one-diag-filter))
(use-package flycheck-eglot (use-package flymake-phpcs
:after flycheck :ensure (:host github :repo "KJ2ME/flymake-phpcs")
:custom
(flycheck-eglot-exclusive nil)
:config :config
;; Activar solo en buffers PHP gestionados por eglot: en el resto (p.ej. Go) ;; Al conectar, Eglot hace `setq-local' de `flymake-diagnostic-functions'
;; dejar que Eglot use flymake nativo y evitar la recursión de flycheck-eglot. ;; (= (eglot-flymake-backend)), borrando nuestro backend; el siguiente
(add-hook 'eglot-managed-mode-hook ;; rechequeo de flymake limpia entonces los overlays de phpcs (aparecen y
(lambda () ;; luego desaparecen). Lo re-añadimos cuando Eglot termine de gestionar el
;; buffer (el hook corre DESPUES del `setq') y forzamos un rechequeo.
(defun flymake-phpcs-readd-after-eglot ()
"Re-register the phpcs backend and re-check once Eglot manages the buffer."
(when (derived-mode-p 'php-mode 'php-ts-mode) (when (derived-mode-p 'php-mode 'php-ts-mode)
(flycheck-eglot-mode 1))))) (add-hook 'flymake-diagnostic-functions #'flymake-phpcs nil t)
(flymake-mode 1)
(use-package flycheck-popup-tip (flymake-start)))
:hook (flycheck-mode . flycheck-popup-tip-mode)) (add-hook 'eglot-managed-mode-hook #'flymake-phpcs-readd-after-eglot)
:hook ((php-mode php-ts-mode) . flymake-phpcs-load))
(provide 'init-lsp) (provide 'init-lsp)
;;; init-lsp.el ends here ;;; init-lsp.el ends here