Compare commits
14 Commits
d8157061f1
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 0f16547bcb | |||
| 608eee5167 | |||
| 0a752577fc | |||
| 3f6e673a6b | |||
| a285f0b68e | |||
| 217ad59844 | |||
| fc35b7b0eb | |||
| ddad78fea1 | |||
| 2ca9c993fd | |||
| 5a2483cdfa | |||
| fc51e197ea | |||
| 89b7ffbbba | |||
| ff1afcf073 | |||
| 9350f41fe2 |
@@ -11,23 +11,36 @@
|
|||||||
|
|
||||||
;; Cliente LLM (ollama, chatgpt, gemini, etc.)
|
;; Cliente LLM (ollama, chatgpt, gemini, etc.)
|
||||||
(use-package gptel
|
(use-package gptel
|
||||||
|
:defer nil
|
||||||
:config
|
:config
|
||||||
(if (getenv "GEMINI_KEY")
|
(setq gptel-model 'gemma4:e2b
|
||||||
(setq gptel-model 'gemini-2.5-flash
|
gptel-backend (gptel-make-ollama "Ollama"
|
||||||
gptel-backend (gptel-make-gemini "Gemini"
|
:host "localhost:11434"
|
||||||
:key (getenv "GEMINI_KEY")
|
:stream t
|
||||||
:stream t))
|
:request-params '(:think :json-false)
|
||||||
(setq gptel-model 'gemma3:4b
|
:models '("cajina/gemma4_e2b-Q4_k_s:v01"
|
||||||
gptel-backend (gptel-make-ollama "Ollama"
|
"su_robin/gemma-4-E4B-it-Q4_K_M:latest"
|
||||||
:host "localhost:11434"
|
"dagbs/qwen2.5-coder-0.5b-instruct-abliterated:q4_k_l"
|
||||||
:stream t
|
"jewelzufo/Qwen2.5-Coder-0.5B-Instruct-GGUF-Assistant:latest"
|
||||||
:models '("mistral:latest"
|
"jaahas/qwen3.5-uncensored:4b"
|
||||||
"deepseek-r1:1.5b"
|
"jaahas/qwen3.5-uncensored:2b"
|
||||||
"deepcoder"
|
"qwen3.5:4b"
|
||||||
"glm-5:cloud"
|
"qwen3.5:2b"
|
||||||
"dolphin-llama3:latest"
|
"gemma4:e2b"
|
||||||
"gemma3:4b"
|
"glm-5.1:cloud"
|
||||||
"llava:latest"))))
|
"gemma4:31b-cloud"
|
||||||
|
"minimax-m2.5:cloud"
|
||||||
|
"gpt-oss:120b-cloud"
|
||||||
|
"gemini-3-flash-preview:cloud"
|
||||||
|
"glm-5:cloud"
|
||||||
|
"qwen3-coder-next:cloud"
|
||||||
|
"qwen3-coder:480b-cloud"
|
||||||
|
"embeddinggemma: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")
|
||||||
@@ -40,7 +53,33 @@
|
|||||||
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."))
|
||||||
)
|
)
|
||||||
(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 ()
|
||||||
|
"Switch to gptel backend and model in a single completion prompt."
|
||||||
|
(interactive)
|
||||||
|
(let (choices)
|
||||||
|
(dolist (pair gptel--known-backends)
|
||||||
|
(let* ((backend-name (car pair))
|
||||||
|
(backend (cdr pair))
|
||||||
|
(models
|
||||||
|
(and (fboundp 'gptel-backend-models)
|
||||||
|
(gptel-backend-models backend))))
|
||||||
|
(when models
|
||||||
|
(dolist (model models)
|
||||||
|
(push (cons ; (format "%s:%s" backend-name model)
|
||||||
|
(format "%s → %s"
|
||||||
|
(propertize backend-name 'face 'font-lock-keyword-face)
|
||||||
|
(propertize (symbol-name model) 'face 'font-lock-function-name-face))
|
||||||
|
(cons backend-name model))
|
||||||
|
choices)))))
|
||||||
|
(let* ((choice
|
||||||
|
(completing-read "Model: " (mapcar #'car choices) nil t))
|
||||||
|
(sel (cdr (assoc choice choices))))
|
||||||
|
(setq gptel-backend (cdr (assoc (car sel) gptel--known-backends))
|
||||||
|
gptel-model (cdr sel))
|
||||||
|
(message "gptel set to %s:%s" (car sel) (cdr sel)))))
|
||||||
|
)
|
||||||
|
|
||||||
;; (use-package copilot
|
;; (use-package copilot
|
||||||
;; :hook (prog-mode . copilot-mode)
|
;; :hook (prog-mode . copilot-mode)
|
||||||
@@ -49,17 +88,20 @@
|
|||||||
;; ("C-<return>" . 'copilot-accept-completion)
|
;; ("C-<return>" . 'copilot-accept-completion)
|
||||||
;; ("S-<return>" . 'copilot-accept-completion-by-word)))
|
;; ("S-<return>" . 'copilot-accept-completion-by-word)))
|
||||||
|
|
||||||
;; El asistente más completo de todos: Tiene chat mpc, code completion, etc.
|
|
||||||
(use-package eca
|
|
||||||
;; :hook (prog-mode . eca-completion-mode)
|
|
||||||
:bind (("M-<return>" . eca-complete)
|
|
||||||
:map eca-completion-map
|
|
||||||
("C-<return>" . eca-completion-accept)))
|
|
||||||
|
|
||||||
(use-package gptel-magit
|
(use-package gptel-magit
|
||||||
:ensure t
|
:ensure t
|
||||||
:hook (magit-mode . gptel-magit-install))
|
:hook (magit-mode . gptel-magit-install))
|
||||||
|
|
||||||
|
(use-package gptel-autocomplete
|
||||||
|
:ensure (:host github :repo "JDNdeveloper/gptel-autocomplete")
|
||||||
|
:bind (("M-<return>" . gptel-complete)
|
||||||
|
:map gptel-autocomplete-completion-map
|
||||||
|
("C-<return>" . gptel-accept-completion)))
|
||||||
|
|
||||||
|
(use-package gptel-agent
|
||||||
|
:ensure t
|
||||||
|
:config (gptel-agent-update))
|
||||||
|
|
||||||
(use-package macher
|
(use-package macher
|
||||||
:ensure (:host github :repo "kmontag/macher")
|
:ensure (:host github :repo "kmontag/macher")
|
||||||
:custom
|
:custom
|
||||||
|
|||||||
@@ -60,11 +60,15 @@
|
|||||||
;; Mover líneas o regiones con M-<teclas de dirección>
|
;; Mover líneas o regiones con M-<teclas de dirección>
|
||||||
(use-package drag-stuff
|
(use-package drag-stuff
|
||||||
:diminish
|
:diminish
|
||||||
:autoload drag-stuff-define-keys
|
;; :autoload drag-stuff-define-keys
|
||||||
:hook (elpaca-after-init . drag-stuff-global-mode)
|
:hook (elpaca-after-init . drag-stuff-global-mode)
|
||||||
:config
|
:bind (:map drag-stuff-mode-map
|
||||||
(add-to-list 'drag-stuff-except-modes 'org-mode)
|
("M-p" . drag-stuff-up)
|
||||||
(drag-stuff-define-keys))
|
("M-n" . drag-stuff-down))
|
||||||
|
;; :config
|
||||||
|
;; (add-to-list 'drag-stuff-except-modes 'org-mode)
|
||||||
|
;; (drag-stuff-define-keys)
|
||||||
|
)
|
||||||
|
|
||||||
;; A comprehensive visual interface to diff & patch
|
;; A comprehensive visual interface to diff & patch
|
||||||
(use-package ediff
|
(use-package ediff
|
||||||
|
|||||||
@@ -15,18 +15,6 @@
|
|||||||
(interactive "nTransparency Value 0 - 100 opaque:")
|
(interactive "nTransparency Value 0 - 100 opaque:")
|
||||||
(set-frame-parameter nil 'alpha-background value))
|
(set-frame-parameter nil 'alpha-background value))
|
||||||
|
|
||||||
;; Comentar línea o región
|
|
||||||
(defun comment-or-uncomment-region-or-line ()
|
|
||||||
"Comments or uncomments the region or the current line."
|
|
||||||
(interactive)
|
|
||||||
(let (beg end)
|
|
||||||
(if (region-active-p)
|
|
||||||
(setq beg (region-beginning) end (region-end))
|
|
||||||
(setq beg (line-beginning-position) end (line-end-position)))
|
|
||||||
(comment-or-uncomment-region beg end)
|
|
||||||
;;(next-line) ;; saltar a la siguiente línea
|
|
||||||
))
|
|
||||||
|
|
||||||
;; Duplicar la línea actual
|
;; Duplicar la línea actual
|
||||||
(defun duplicate-current-line (&optional n)
|
(defun duplicate-current-line (&optional n)
|
||||||
"Duplicate current line, make more than 1 copy given a numeric (N) argument."
|
"Duplicate current line, make more than 1 copy given a numeric (N) argument."
|
||||||
|
|||||||
@@ -17,8 +17,6 @@
|
|||||||
(global-set-key (kbd "C-x C-z") nil) ; Unbind C-x C-z (don't minimize)
|
(global-set-key (kbd "C-x C-z") nil) ; Unbind C-x C-z (don't minimize)
|
||||||
(global-set-key (kbd "C-z") 'undo) ; Unbind C-z y hacerlo funcionar para deshacer cambios
|
(global-set-key (kbd "C-z") 'undo) ; Unbind C-z y hacerlo funcionar para deshacer cambios
|
||||||
(global-set-key (kbd "C-S-z") 'undo-redo) ; Rehacer cambios con C-S-z
|
(global-set-key (kbd "C-S-z") 'undo-redo) ; Rehacer cambios con C-S-z
|
||||||
(global-set-key (kbd "C-S-c")
|
|
||||||
'comment-or-uncomment-region-or-line) ; Comentar/descomentar línea o selección
|
|
||||||
(global-set-key (kbd "C-<f11>") 'toggle-frame-maximized) ; Maximizar / restaurar
|
(global-set-key (kbd "C-<f11>") 'toggle-frame-maximized) ; Maximizar / restaurar
|
||||||
(global-set-key (kbd "C-S-d") 'duplicate-current-line) ; Duplicar línea
|
(global-set-key (kbd "C-S-d") 'duplicate-current-line) ; Duplicar línea
|
||||||
(global-set-key (kbd "<mouse-3>") 'context-menu-open) ; Abrir menú contextal al hacer clic derecho
|
(global-set-key (kbd "<mouse-3>") 'context-menu-open) ; Abrir menú contextal al hacer clic derecho
|
||||||
|
|||||||
@@ -79,6 +79,7 @@
|
|||||||
(use-package flycheck
|
(use-package flycheck
|
||||||
:init (global-flycheck-mode)
|
:init (global-flycheck-mode)
|
||||||
:config
|
:config
|
||||||
|
(setq-default flycheck-global-modes '(not org-mode))
|
||||||
(setq flycheck-indication-mode nil
|
(setq flycheck-indication-mode nil
|
||||||
flycheck-phpcs-standard "PSR12"))
|
flycheck-phpcs-standard "PSR12"))
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,8 @@
|
|||||||
("C-c p f" . consult-find) ;; Búsqueda de archivos en todo el projecto incluso en carpetas
|
("C-c p f" . consult-find) ;; Búsqueda de archivos en todo el projecto incluso en carpetas
|
||||||
("C-c p l" . consult-line-multi) ;; Búsqueda en todos los buffers del projecto abiertos
|
("C-c p l" . consult-line-multi) ;; Búsqueda en todos los buffers del projecto abiertos
|
||||||
;; Custom M-# bindings for fast register access
|
;; Custom M-# bindings for fast register access
|
||||||
("C-'" . consult-register-load)
|
;; ("C-'" . consult-register-load)
|
||||||
|
("C-'" . consult-register)
|
||||||
("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
|
("M-'" . consult-register-store) ;; orig. abbrev-prefix-mark (unrelated)
|
||||||
;; Other custom bindings
|
;; Other custom bindings
|
||||||
("M-y" . consult-yank-pop) ;; orig. yank-pop
|
("M-y" . consult-yank-pop) ;; orig. yank-pop
|
||||||
|
|||||||
@@ -9,15 +9,15 @@
|
|||||||
|
|
||||||
;; Configuración de repositorios de paquetes
|
;; Configuración de repositorios de paquetes
|
||||||
|
|
||||||
(defvar elpaca-installer-version 0.11)
|
(defvar elpaca-installer-version 0.12)
|
||||||
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
|
(defvar elpaca-directory (expand-file-name "elpaca/" user-emacs-directory))
|
||||||
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
|
(defvar elpaca-builds-directory (expand-file-name "builds/" elpaca-directory))
|
||||||
(defvar elpaca-repos-directory (expand-file-name "repos/" elpaca-directory))
|
(defvar elpaca-sources-directory (expand-file-name "sources/" elpaca-directory))
|
||||||
(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git"
|
(defvar elpaca-order '(elpaca :repo "https://github.com/progfolio/elpaca.git"
|
||||||
:ref nil :depth 1 :inherit ignore
|
:ref nil :depth 1 :inherit ignore
|
||||||
:files (:defaults "elpaca-test.el" (:exclude "extensions"))
|
:files (:defaults "elpaca-test.el" (:exclude "extensions"))
|
||||||
:build (:not elpaca--activate-package)))
|
:build (:not elpaca-activate)))
|
||||||
(let* ((repo (expand-file-name "elpaca/" elpaca-repos-directory))
|
(let* ((repo (expand-file-name "elpaca/" elpaca-sources-directory))
|
||||||
(build (expand-file-name "elpaca/" elpaca-builds-directory))
|
(build (expand-file-name "elpaca/" elpaca-builds-directory))
|
||||||
(order (cdr elpaca-order))
|
(order (cdr elpaca-order))
|
||||||
(default-directory repo))
|
(default-directory repo))
|
||||||
|
|||||||
@@ -52,11 +52,12 @@
|
|||||||
;; Moverme entre frames
|
;; Moverme entre frames
|
||||||
(use-package windmove
|
(use-package windmove
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:bind (("s-K" . windmove-up)
|
:bind (("M-I" . windmove-up)
|
||||||
("s-J" . windmove-down)
|
("M-K" . windmove-down)
|
||||||
("s-H" . windmove-left)
|
("M-J" . windmove-left)
|
||||||
("s-L" . windmove-right)
|
("M-L" . windmove-right)
|
||||||
("s-O" . other-window)))
|
("M-O" . other-window)
|
||||||
|
("M-o" . other-window)))
|
||||||
|
|
||||||
;; Terminal
|
;; Terminal
|
||||||
(use-package vterm
|
(use-package vterm
|
||||||
|
|||||||
Reference in New Issue
Block a user