diff --git a/configs/init-base.el b/configs/init-base.el index 136dde0..b789969 100644 --- a/configs/init-base.el +++ b/configs/init-base.el @@ -5,8 +5,8 @@ ;;; Commentary: -;; Configuración base de Emacs, no incluye extensiones, -;; pero si el theme y los fonts. +;; Configuración general de Emacs. +;; No incluye paquetes/extensiones, solo configuraciones generales. ;;; Code: diff --git a/configs/init-company.el b/configs/init-company.el index 9072f8c..3d3260e 100644 --- a/configs/init-company.el +++ b/configs/init-company.el @@ -5,6 +5,10 @@ ;;; 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 diff --git a/configs/init-ctags.el b/configs/init-ctags.el index b620dd2..39f337a 100644 --- a/configs/init-ctags.el +++ b/configs/init-ctags.el @@ -7,15 +7,22 @@ ;;; Code: +;; En esta sección está la configuración para ctags. +;; Quizá con la aparición de lsp sea menos necesaria, +;; pero dado a que sigue teniendo potencial para aportar +;; además de tener un rendimiento muy bueno es mejor +;; no dejarla de lado. + ;; Ctags IDE on the True Editor ;; @see https://github.com/universal-ctags/citre#quick-start (use-package citre :defer t + :ensure t :straight t :diminish - :bind (("C-x c j" . citre-jump+) - ("C-x c k" . citre-jump-back) + :bind (("C-x c ." . citre-jump) + ("C-x c ," . citre-jump-back) ("C-x c p" . citre-peek) ("C-x c a" . citre-ace-peek) ("C-x c u" . citre-update-this-tags-file)) diff --git a/configs/init-eglot.el b/configs/init-eglot.el index 38ba146..c3f1902 100644 --- a/configs/init-eglot.el +++ b/configs/init-eglot.el @@ -5,6 +5,28 @@ ;;; Commentary: +;; Este archivo tiene todo lo relacionado con eglot. +;; Eglot es un cliente LSP para Emacs que desde la +;; versión 29 viene integrado dentro del mismo. +;; +;; El nombre Eglot es un apócope de "Emacs polyglot" +;; ya que con este cliente podemos añadir soporte para +;; muchísimos lenguajes, puesto que actualente el que +;; un lenguaje tenga su propio LSP es muy normal. +;; +;; Como añadido: +;; +;; Un Languaje Server Provider (LSP), es un protocolo +;; mediante el cual existen servidores para lenguajes +;; en específico, los cuales proveen cosas como el +;; autocompletado, linting, documentación, ir a la +;; definición, etc. +;; +;; Este protocolo viene a solucionar el problema de +;; que cada herramienta de programación tenga que +;; volver a crear su propio soporte para cada uno +;; de los lenguajes (DRY). + ;;; Code: (use-package eglot diff --git a/configs/init-evil.el b/configs/init-evil.el index e012982..ae3a210 100644 --- a/configs/init-evil.el +++ b/configs/init-evil.el @@ -5,6 +5,12 @@ ;;; Commentary: +;; En este archivo está toda la configuración relacionada +;; con el paquete Evil. +;; +;; Evil es un paquete para Emacs, que básicamente nos +;; permite tener VIM dentro de Emacs. + ;;; Code: (use-package evil :defer t diff --git a/configs/init-functions.el b/configs/init-functions.el index 8ef1d9e..60f8446 100644 --- a/configs/init-functions.el +++ b/configs/init-functions.el @@ -5,6 +5,8 @@ ;;; Commentary: +;; Aqui se encuentran funciones sueltas de Emacs. + ;;; Code: ;; Permite cambiar la transparencia de emacs. diff --git a/configs/init-keys.el b/configs/init-keys.el index 4eda9a8..7f20061 100644 --- a/configs/init-keys.el +++ b/configs/init-keys.el @@ -5,9 +5,12 @@ ;;; Commentary: -;; Aquí se configuran los atajos globales. -;; Es posible que haya otros, ya que muchos se configuran -;; directamente en los paquetes/extensiones y dependen de los mismos. +;; Aquí se configuran los atajos de teclas generales. +;; Los atajos de teclas relacionados con paquetes en +;; específico estarán en el archivo donde se esté +;; configurando dicho paquete o dentro del paquete +;; mismo, para aquellos que vengan con atajos ya +;; configurados desde su instalación. ;;; Code: diff --git a/configs/init-lsp.el b/configs/init-lsp.el index c7a0113..acbce9d 100644 --- a/configs/init-lsp.el +++ b/configs/init-lsp.el @@ -5,6 +5,14 @@ ;;; Commentary: +;; Este archivo es lo misma idea que "init-eglot", +;; pero en este caso cambiamos lsp-mode en lugar +;; de Eglot. +;; +;; Desde que Emacs trae integrado Eglot, he dejado +;; de usarlo y es probable que en un futuro sea +;; eliminado totalmente. + ;;; Code: ;; Performace tuning diff --git a/configs/init-ivy.el b/configs/init-minibuffer.el similarity index 84% rename from configs/init-ivy.el rename to configs/init-minibuffer.el index 1b0b225..87b4c90 100644 --- a/configs/init-ivy.el +++ b/configs/init-minibuffer.el @@ -1,20 +1,24 @@ -;;; init-ivy.el --- Ayuditas y autocompletado del minibufer -*- lexical-binding: t -*- +;;; init-minibuffer.el --- Ayuditas y autocompletado del minibufer -*- lexical-binding: t -*- ;; Author: kj ;; URL: https://git.kj2.me/kj/confi-emacs-actual ;;; Commentary: +;; Aquí se encuentran todos los paquetes que tienen como +;; objetivo mejorar el minibuffer de Emacs. + ;;; Code: - -;; Autocompletado para el minibuffer (counsel e ivy) +;; Autocompletado y sugerencias para el minibuffer (use-package counsel :defer t :straight t :diminish ivy-mode counsel-mode - :bind (("C-s" . swiper-isearch) - ("C-r" . counsel-rg) + :bind (("C-s" . swiper-isearch) + ("C-r" . counsel-rg) + ("M-x" . counsel-M-x) + ("" . counsel-M-x) ;; ("C-c C-r" . ivy-resume) ;; ("C-c v p" . ivy-push-view) @@ -86,7 +90,7 @@ ) -;; Autocompletado de proyectos en counsel (projectile) +;; Integración entre projectile y counsel (use-package counsel-projectile :defer t :straight t @@ -95,6 +99,7 @@ :hook (counsel-mode . counsel-projectile-mode) :init (setq counsel-projectile-grep-initial-input '(ivy-thing-at-point))) +;; Autocompletado, sugerencias y menú de búsqueda mejorados (este paquete incluye counsel y swiper) (use-package ivy :defer t :straight t @@ -102,6 +107,7 @@ :config (setq ivy-use-virtual-buffers nil)) +;; Ivy pero con más detalles en pantalla (use-package ivy-rich :defer t :straight t @@ -116,7 +122,7 @@ ;; For better performance (setq ivy-rich-parse-remote-buffer nil)) -;; Iconos en Ivy (allthe icons) +;; Iconos en Ivy usando all-the-icons (use-package all-the-icons-ivy-rich :defer t :straight t @@ -126,5 +132,5 @@ (setq all-the-icons-ivy-rich-color-icon t)) -(provide 'init-ivy) -;;; init-ivy.el ends here +(provide 'init-minibuffer) +;;; init-minibuffer.el ends here diff --git a/configs/init-org.el b/configs/init-org.el index 6f776f6..1e869eb 100644 --- a/configs/init-org.el +++ b/configs/init-org.el @@ -5,6 +5,17 @@ ;;; Commentary: +;; Aquí se encuentran todas las configuraciones relacionadas a org-mode. +;; +;; org-mode es un de los reclamos más potentes de Emacs. Aunque solo es +;; un formato de texto enrriquecido, básicamente algo similar a +;; markdown, Emacs es el que lo ha llevado muy bien y probalemente el que +;; mejor lo soporta. +;; +;; Cabe mencionar que este modo es también el predefinido para todo un +;; ecosistema dentro de Emacs, como es el caso de la agenda o la base de +;; conocimientos org-roam. + ;;; Code: (defun kj/org-hook () "Configuración para el hook de 'org-mode'." diff --git a/configs/init-packages.el b/configs/init-packages.el index d7636f6..551ff0a 100644 --- a/configs/init-packages.el +++ b/configs/init-packages.el @@ -5,6 +5,13 @@ ;;; Commentary: +;; Aquí se encuentran los paquetes de uso general. +;; +;; Aquellos de uso más específico, por ejemplo, los que +;; pertenecen a un lenguaje de programación en específico +;; estarán en el respectivo archivo de configuración +;; para dicho uso específico. + ;;; Code: ;; Iconos bonitos @@ -91,7 +98,7 @@ :hook (after-init . global-git-gutter-mode)) - +;; Resalta los escapes de secuencia (use-package highlight-escape-sequences :straight t :defer t @@ -274,6 +281,7 @@ :hook (prog-mode . vs-comment-return-mode) ) +;; Mostrar el último commit que modificó la linea actual (use-package vc-msg :straight t :defer t diff --git a/configs/init-treemacs.el b/configs/init-treemacs.el index a49fde2..9c70179 100644 --- a/configs/init-treemacs.el +++ b/configs/init-treemacs.el @@ -5,6 +5,11 @@ ;;; Commentary: +;; Aquí se encuentran las configuraciones y paquetes relacionados +;; con treemacs. +;; +;; treemacs es esa barra lateral con los archivos en modo árbol. + ;;; Code: (use-package treemacs @@ -18,8 +23,6 @@ (cfrs-border-color ((t (:background ,(face-foreground 'font-lock-comment-face nil t))))) :bind (([f9] . treemacs) ([f8] . treemacs-display-current-project-exclusively) - ("C-x t 1" . treemacs-delete-other-windows) - ("C-x t b" . treemacs-bookmark) :map treemacs-mode-map ([mouse-1] . treemacs-single-click-expand-action)) :config @@ -41,7 +44,7 @@ (use-package treemacs-projectile :defer t :straight t - :after projectile + :after (treemacs projectile) :bind (:map projectile-command-map ("h" . treemacs-projectile))) diff --git a/configs/lang-go.el b/configs/lang-go.el index 6f437b8..56525a6 100644 --- a/configs/lang-go.el +++ b/configs/lang-go.el @@ -5,6 +5,8 @@ ;;; Commentary: +;; Archivo de configuración para el lenguaje GO + ;;; Code: (use-package go-mode diff --git a/configs/lang-html.el b/configs/lang-html.el index 9e413a6..b7584ca 100644 --- a/configs/lang-html.el +++ b/configs/lang-html.el @@ -1,10 +1,12 @@ -;;; lang-html.el --- Configuración para el lenguaje PHP -*- lexical-binding: t -*- +;;; lang-html.el --- Configuración para el lenguaje HTML -*- lexical-binding: t -*- ;; Author: kj ;; URL: https://git.kj2.me/kj/confi-emacs-actual ;;; Commentary: +;; Archivo de configuración para el lenguaje HTML + ;;; Code: (use-package web-mode diff --git a/configs/lang-js.el b/configs/lang-js.el index 0078ba1..a89de6f 100644 --- a/configs/lang-js.el +++ b/configs/lang-js.el @@ -5,6 +5,8 @@ ;;; Commentary: +;; Archivo de configuración para el lenguaje Javascript + ;;; Code: (use-package js diff --git a/configs/lang-php.el b/configs/lang-php.el index 8f15bbf..45f09f0 100644 --- a/configs/lang-php.el +++ b/configs/lang-php.el @@ -5,6 +5,8 @@ ;;; Commentary: +;; Archivo de configuración para el lenguaje PHP + ;;; Code: (use-package php-mode @@ -12,9 +14,7 @@ :straight t :hook ((php-mode . (lambda () (local-set-key (kbd "C-c d b") 'php-doc-block) ;; atajo para docblock - (company-mode t) ; habilita company mode )) - ;; (php-mode . lsp) ) ) diff --git a/configs/lang-rust.el b/configs/lang-rust.el index 84a45dc..6734f72 100644 --- a/configs/lang-rust.el +++ b/configs/lang-rust.el @@ -1,10 +1,12 @@ -;;; lang-rust.el --- Configuración para el lenguaje PHP -*- lexical-binding: t -*- +;;; lang-rust.el --- Configuración para el lenguaje Rust -*- lexical-binding: t -*- ;; Author: kj ;; URL: https://git.kj2.me/kj/confi-emacs-actual ;;; Commentary: +;; Archivo de configuración para el lenguaje Rust + ;;; Code: (use-package rust-mode diff --git a/init.el b/init.el index 958a98b..58d8dc9 100644 --- a/init.el +++ b/init.el @@ -22,8 +22,8 @@ (require 'init-eglot) (require 'init-company) (require 'init-treemacs) -;;(require 'init-ctags) -(require 'init-ivy) +(require 'init-ctags) +(require 'init-minibuffer) (require 'init-evil) (require 'init-keys)