Compare commits
24 Commits
6ed438fd74
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| b89a71abad | |||
| 6effba1c1f | |||
| ffe05448de | |||
| 1e75763616 | |||
| 6458dad64e | |||
| 65cec403a0 | |||
| 421216ffea | |||
| a094c797e8 | |||
| b5d2f0b0a0 | |||
| 0344b791ba | |||
| 715fcdad4e | |||
| 8d7d814576 | |||
| 579adf0a05 | |||
| 9bec2fedcf | |||
| 5667bfd7e8 | |||
| 72a0c488f1 | |||
| 2d061947a6 | |||
| c5712fb8d0 | |||
| 5df4169bfd | |||
| 2dc93765b4 | |||
| f087c04e4f | |||
| 129a404153 | |||
| a102e7922f | |||
| 872e67328e |
@@ -13,35 +13,45 @@
|
|||||||
(use-package gptel
|
(use-package gptel
|
||||||
:defer nil
|
:defer nil
|
||||||
:config
|
:config
|
||||||
(setq gptel-model 'gemma4:e2b
|
(when (getenv "GEMINI_KEY")
|
||||||
|
(setq gptel-backend (gptel-make-gemini "Gemini"
|
||||||
|
:key (getenv "GEMINI_KEY")
|
||||||
|
:stream t)))
|
||||||
|
|
||||||
|
(setq gptel-backend (gptel-make-openai "llama.cpp"
|
||||||
|
:stream t
|
||||||
|
:protocol "http"
|
||||||
|
:host "127.0.0.1:1945"
|
||||||
|
:models '("gemma-4-E4B"
|
||||||
|
"gemma-4-E4B-UNCENSORED"
|
||||||
|
"gemma-4-12B"
|
||||||
|
"gemma-4-12B-Q2"
|
||||||
|
"gemma-4-26B"
|
||||||
|
"gemma-4-26B-Q2"
|
||||||
|
"gemma-4-31B"
|
||||||
|
"gemma-4-31B-Q2"
|
||||||
|
"Qwen3.5-0.8B"
|
||||||
|
"Qwen3.5-4B"
|
||||||
|
"Qwen3.5-9B"
|
||||||
|
"Qwen3.6-27B"
|
||||||
|
"Qwen2.5-Coder"
|
||||||
|
"Qwen3Coder"
|
||||||
|
"Qwen3Coder-Q2"
|
||||||
|
"gptoss-20b"
|
||||||
|
"QwenSeek-2B")))
|
||||||
|
|
||||||
|
(setq gptel-model 'gemma4:31b-cloud
|
||||||
gptel-backend (gptel-make-ollama "Ollama"
|
gptel-backend (gptel-make-ollama "Ollama"
|
||||||
:host "localhost:11434"
|
:host "localhost:11434"
|
||||||
:stream t
|
:stream t
|
||||||
:request-params '(:think :json-false)
|
:request-params '(:think :json-false)
|
||||||
:models '("cajina/gemma4_e2b-Q4_k_s:v01"
|
:models '("gemma4:31b-cloud"
|
||||||
"dagbs/qwen2.5-coder-0.5b-instruct-abliterated:q4_k_l"
|
|
||||||
"gemini-3-flash-preview:cloud"
|
|
||||||
"gemma4:31b-cloud"
|
|
||||||
"gemma4:e2b"
|
|
||||||
"gemma4:e4b"
|
|
||||||
"glm-5.1:cloud"
|
"glm-5.1:cloud"
|
||||||
"glm-5:cloud"
|
|
||||||
"gpt-oss:120b-cloud"
|
|
||||||
"jaahas/qwen3.5-uncensored:2b"
|
|
||||||
"jaahas/qwen3.5-uncensored:4b"
|
|
||||||
"jewelzufo/Qwen2.5-Coder-0.5B-Instruct-GGUF-Assistant:latest"
|
|
||||||
"kimi-k2.6:cloud"
|
"kimi-k2.6:cloud"
|
||||||
|
"gpt-oss:20b-cloud"
|
||||||
"minimax-m2.5:cloud"
|
"minimax-m2.5:cloud"
|
||||||
"qwen3-coder-next:cloud"
|
"qwen3-coder-next:cloud")))
|
||||||
"qwen3-coder:480b-cloud"
|
|
||||||
"qwen3.5:2b"
|
|
||||||
"qwen3.5:4b"
|
|
||||||
"su_robin/gemma-4-E4B-it-Q4_K_M:latest")))
|
|
||||||
(when (getenv "GEMINI_KEY")
|
|
||||||
(setq gptel-model 'gemini-2.5-flash
|
|
||||||
gptel-backend (gptel-make-gemini "Gemini"
|
|
||||||
:key (getenv "GEMINI_KEY")
|
|
||||||
:stream t)))
|
|
||||||
(setq gptel-default-mode 'org-mode
|
(setq gptel-default-mode 'org-mode
|
||||||
gptel-prompt-prefix-alist
|
gptel-prompt-prefix-alist
|
||||||
'((markdown-mode . "# User\n\n")
|
'((markdown-mode . "# User\n\n")
|
||||||
@@ -54,6 +64,8 @@
|
|||||||
gptel-directives
|
gptel-directives
|
||||||
'((default . "You are a large language model living in Emacs and a helpful assistant. Respond concisely in Spanish."))
|
'((default . "You are a large language model living in Emacs and a helpful assistant. Respond concisely in Spanish."))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(add-hook 'gptel-post-response-functions 'gptel-end-of-response)
|
||||||
(setopt gptel-include-reasoning nil) ;; Mantener hasta resolver: https://github.com/ragnard/gptel-magit/issues/8
|
(setopt gptel-include-reasoning nil) ;; Mantener hasta resolver: https://github.com/ragnard/gptel-magit/issues/8
|
||||||
|
|
||||||
(defun gptel-switch+model ()
|
(defun gptel-switch+model ()
|
||||||
@@ -94,6 +106,7 @@
|
|||||||
:hook (magit-mode . gptel-magit-install))
|
:hook (magit-mode . gptel-magit-install))
|
||||||
|
|
||||||
(use-package gptel-autocomplete
|
(use-package gptel-autocomplete
|
||||||
|
:defer nil
|
||||||
:ensure (:host github :repo "JDNdeveloper/gptel-autocomplete")
|
:ensure (:host github :repo "JDNdeveloper/gptel-autocomplete")
|
||||||
:bind (("M-<return>" . gptel-complete)
|
:bind (("M-<return>" . gptel-complete)
|
||||||
:map gptel-autocomplete-completion-map
|
:map gptel-autocomplete-completion-map
|
||||||
|
|||||||
@@ -93,6 +93,7 @@
|
|||||||
(add-to-list 'completion-at-point-functions #'cape-file) ;; Completar rutas de archivos.
|
(add-to-list 'completion-at-point-functions #'cape-file) ;; Completar rutas de archivos.
|
||||||
(add-to-list 'completion-at-point-functions #'cape-keyword) ;; Completar desde keyword del lenguaje.
|
(add-to-list 'completion-at-point-functions #'cape-keyword) ;; Completar desde keyword del lenguaje.
|
||||||
|
|
||||||
|
:config
|
||||||
(advice-add 'eglot-completion-at-point :around #'cape-wrap-buster)
|
(advice-add 'eglot-completion-at-point :around #'cape-wrap-buster)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -29,12 +29,12 @@
|
|||||||
:diminish
|
:diminish
|
||||||
:autoload aggressive-indent-mode
|
:autoload aggressive-indent-mode
|
||||||
:functions too-long-file-p
|
:functions too-long-file-p
|
||||||
:hook ((elpaca-after-init . global-aggressive-indent-mode)
|
;; :hook ((elpaca-after-init . global-aggressive-indent-mode)
|
||||||
;; NOTE: Disable in large files due to the performance issues
|
;; ;; NOTE: Disable in large files due to the performance issues
|
||||||
;; https://github.com/Malabarba/aggressive-indent-mode/issues/73
|
;; ;; https://github.com/Malabarba/aggressive-indent-mode/issues/73
|
||||||
(find-file . (lambda ()
|
;; (find-file . (lambda ()
|
||||||
(when (too-long-file-p)
|
;; (when (too-long-file-p)
|
||||||
(aggressive-indent-mode -1)))))
|
;; (aggressive-indent-mode -1)))))
|
||||||
:config
|
:config
|
||||||
;; Disable in some modes
|
;; Disable in some modes
|
||||||
(dolist (mode '(gitconfig-mode
|
(dolist (mode '(gitconfig-mode
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
;; Seleccionar por regiones (similar a mark-sexp, pero toma en cuenta hacia atrás del cursor también)
|
;; Seleccionar por regiones (similar a mark-sexp, pero toma en cuenta hacia atrás del cursor también)
|
||||||
(use-package expand-region
|
(use-package expand-region
|
||||||
:functions treesit-buffer-root-node
|
:functions treesit-buffer-root-node
|
||||||
:bind ("C-=" . er/expand-region)
|
:bind ("C-," . er/expand-region)
|
||||||
:config
|
:config
|
||||||
(defun treesit-mark-bigger-node ()
|
(defun treesit-mark-bigger-node ()
|
||||||
"Use tree-sitter to mark regions."
|
"Use tree-sitter to mark regions."
|
||||||
|
|||||||
@@ -159,5 +159,15 @@ If PROJECT is not specified, assume current project root."
|
|||||||
(global-corfu-mode 1)
|
(global-corfu-mode 1)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
(defun force-fundamental-for-large-files ()
|
||||||
|
"If a file is over 5MB, open it in fundamental-mode and disable undo."
|
||||||
|
(when (> (buffer-size) (* 5 1024 1024))
|
||||||
|
(setq buffer-read-only t)
|
||||||
|
(buffer-disable-undo)
|
||||||
|
(fundamental-mode)
|
||||||
|
(message "Buffer set to fundamental-mode and read-only due to size.")))
|
||||||
|
|
||||||
|
(add-hook 'find-file-hook #'force-fundamental-for-large-files)
|
||||||
|
|
||||||
(provide 'init-functions)
|
(provide 'init-functions)
|
||||||
;;; init-functions.el ends here.
|
;;; init-functions.el ends here.
|
||||||
|
|||||||
@@ -44,7 +44,10 @@
|
|||||||
eglot-send-changes-idle-time 0.5)
|
eglot-send-changes-idle-time 0.5)
|
||||||
:config
|
:config
|
||||||
(setq eglot-sync-connect 0)
|
(setq eglot-sync-connect 0)
|
||||||
(add-to-list 'eglot-server-programs '(php-mode . ("intelephense" "--stdio")))
|
(add-to-list 'eglot-server-programs '(php-mode . ("rass" "--" "intelephense" "--stdio")))
|
||||||
|
(add-to-list 'eglot-server-programs '(web-mode . ("rass" "--" "htmx-lsp" "--" "intelephense" "--stdio")))
|
||||||
|
(add-to-list 'eglot-server-programs '(html-mode . ("rass" "--" "htmx-lsp" "--" "intelephense" "--stdio")))
|
||||||
|
(add-to-list 'eglot-server-programs '(nhtml-mode . ("rass" "--" "htmx-lsp" "--" "intelephense" "--stdio")))
|
||||||
(add-to-list 'eglot-ignored-server-capabilities :inlayHintProvider)
|
(add-to-list 'eglot-ignored-server-capabilities :inlayHintProvider)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -50,12 +50,6 @@
|
|||||||
:map minibuffer-local-map
|
:map minibuffer-local-map
|
||||||
("<escape>" . minibuffer-keyboard-quit) ;; Cacelar minibuffer con escape (más rápido que C-g)
|
("<escape>" . minibuffer-keyboard-quit) ;; Cacelar minibuffer con escape (más rápido que C-g)
|
||||||
("C-<return>" . newline) ;; Insertar nueva línea estando en el minibufer (Mas rápido que C-q C-j)
|
("C-<return>" . newline) ;; Insertar nueva línea estando en el minibufer (Mas rápido que C-q C-j)
|
||||||
("C-S-s" . (lambda ()
|
|
||||||
"Insert the current symbol."
|
|
||||||
(interactive)
|
|
||||||
(insert (save-excursion
|
|
||||||
(set-buffer (window-buffer (minibuffer-selected-window)))
|
|
||||||
(or (thing-at-point 'symbol t) ""))))) ;; Al presionar por segunda ves C-s busca el símbolo actual.
|
|
||||||
)
|
)
|
||||||
|
|
||||||
;; Enable automatic preview at point in the *Completions* buffer. This is
|
;; Enable automatic preview at point in the *Completions* buffer. This is
|
||||||
@@ -117,7 +111,7 @@
|
|||||||
("M-DEL" . vertico-directory-delete-word))
|
("M-DEL" . vertico-directory-delete-word))
|
||||||
:hook ((elpaca-after-init . vertico-mode)
|
:hook ((elpaca-after-init . vertico-mode)
|
||||||
(rfn-eshadow-update-overlay . vertico-directory-tidy))
|
(rfn-eshadow-update-overlay . vertico-directory-tidy))
|
||||||
:config
|
:init
|
||||||
(setq read-file-name-completion-ignore-case t
|
(setq read-file-name-completion-ignore-case t
|
||||||
read-buffer-completion-ignore-case t
|
read-buffer-completion-ignore-case t
|
||||||
completion-ignore-case t)
|
completion-ignore-case t)
|
||||||
|
|||||||
@@ -85,6 +85,9 @@
|
|||||||
;; org-mode
|
;; org-mode
|
||||||
(use-package org
|
(use-package org
|
||||||
:ensure nil
|
:ensure nil
|
||||||
|
:bind (:map org-mode-map
|
||||||
|
("C-'" . nil)
|
||||||
|
("C-," . nil))
|
||||||
:hook
|
:hook
|
||||||
((org-mode . kj/org-hook)
|
((org-mode . kj/org-hook)
|
||||||
(org-mode . visual-line-fill-column-mode))
|
(org-mode . visual-line-fill-column-mode))
|
||||||
@@ -146,6 +149,9 @@
|
|||||||
(setq org-image-actual-width 512)
|
(setq org-image-actual-width 512)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
;; Ajusta el tamaño horizontal de las tablas a lo configurado en fill-colum o ftable-fill-column
|
||||||
|
(use-package ftable)
|
||||||
|
|
||||||
;; Org-yt para soportar embebidos.
|
;; Org-yt para soportar embebidos.
|
||||||
(use-package org-yt
|
(use-package org-yt
|
||||||
:after org
|
:after org
|
||||||
|
|||||||
@@ -27,8 +27,9 @@
|
|||||||
;; Cross-referencing commands
|
;; Cross-referencing commands
|
||||||
(use-package xref
|
(use-package xref
|
||||||
:autoload xref-show-definitions-completing-read
|
:autoload xref-show-definitions-completing-read
|
||||||
:bind (("M-g ." . xref-find-definitions)
|
:bind (("M-." . xref-find-definitions)
|
||||||
("M-g ," . xref-go-back))
|
("M-," . xref-go-back)
|
||||||
|
("C-." . xref-find-references))
|
||||||
:init
|
:init
|
||||||
;; Use faster search tool
|
;; Use faster search tool
|
||||||
(when (executable-find "rg")
|
(when (executable-find "rg")
|
||||||
|
|||||||
@@ -13,7 +13,10 @@
|
|||||||
:mode "\\.php\\'"
|
:mode "\\.php\\'"
|
||||||
:ensure nil)
|
:ensure nil)
|
||||||
|
|
||||||
(use-package php-mode)
|
(use-package php-mode
|
||||||
|
:bind (:map php-mode-map
|
||||||
|
("C-c C-f" . nil)
|
||||||
|
("C-." . nil)))
|
||||||
|
|
||||||
(use-package php-doc-block
|
(use-package php-doc-block
|
||||||
:after php-ts-mode
|
:after php-ts-mode
|
||||||
|
|||||||
Reference in New Issue
Block a user