diff --git a/configs/base-extensions.el b/configs/base-extensions.el index 125620b..d44b6d4 100644 --- a/configs/base-extensions.el +++ b/configs/base-extensions.el @@ -7,8 +7,25 @@ ;;; Code: -;; use-package - No necesita presentación -(use-package use-package :defer t) +;; Iconos principalmente para ser usados por neotree +(use-package all-the-icons :defer t) + +;; Iconos en Ivy (allthe icons) +(use-package all-the-icons-ivy-rich + :defer t + :ensure t + :init + (all-the-icons-ivy-rich-mode 1) + :config + (setq all-the-icons-ivy-rich-color-icon t)) + +;; Reemplazar y buscar mejorado +(use-package anzu + :ensure t + :config + (global-anzu-mode +1) + (global-set-key [remap query-replace] 'anzu-query-replace) + (global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp)) ;; Auto-actualizar los paquetes (use-package auto-package-update @@ -22,87 +39,9 @@ :init (setq auto-package-update-last-update-day-filename - (expand-file-name ".last-package-update-day" private-dir))) - -;; Iconos principalmente para ser usados por neotree -(use-package all-the-icons :defer t) - -;; Terminal -(use-package vterm :ensure t :defer t) - -;; Multiple vterm -(use-package multi-vterm :ensure t :defer t) - -;; Highlight en los números. -(use-package highlight-numbers - :defer t - :ensure t - :hook - (prog-mode . highlight-numbers-mode)) - -;; Mover líneas o regiones -(use-package drag-stuff - :defer t - :config - (drag-stuff-define-keys)) - -;; Recentf - Guarda registro de los archivos abiertos recientemente -(use-package recentf - :defer t - :config - (setq recentf-save-file - (recentf-expand-file-name (concat temp-dir "/recentf"))) - (recentf-mode 1)) - - -;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir. -(use-package saveplace - :defer t - :config - (setq save-place-file (locate-user-emacs-file (concat temp-dir "/places")))) - -;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás) -(use-package emmet-mode - :hook (html-mode . emmet-mode)) - -;; Modo markdown -(use-package markdown-mode :defer t) - -;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit. -(use-package git-gutter :defer t) - -;; Mejorando el scroll -(use-package smooth-scrolling - :defer t - :config - (setq mouse-wheel-scroll-amount - '(8 ((shift) . 1) ((control) . nil))) ; Cambia el scroll a 8 líneas a la vez, 1 cuando se preciona SHIFT y saltos de página cuando presionas CTRL - (setq mouse-wheel-progressive-speed nil) ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va) - ) - -(use-package doom-modeline - :defer t - :ensure t - :init (doom-modeline-mode 1) - :config - (setq doom-modeline-project-detection 'auto - doom-modeline-buffer-file-name-style 'relative-from-project - doom-modeline-major-mode-color-icon t - doom-modeline-buffer-modification-icon t - doom-modeline-indent-info nil - doom-modeline-persp-name t) -) - -;; Code Folding -(use-package origami :defer t) - -;; Reemplazar y buscar menjorado -(use-package anzu - :ensure t - :config - (global-anzu-mode +1) - (global-set-key [remap query-replace] 'anzu-query-replace) - (global-set-key [remap query-replace-regexp] 'anzu-query-replace-regexp)) + (expand-file-name ".last-package-update-day" private-dir)) + (setq use-package-always-ensure t) + (auto-package-update-maybe)) ;; Automcompletado (use-package company @@ -118,14 +57,6 @@ (company-dabbrev :with company-yasnippet))) ) -;; Poner la info acerca del autocompletado del autocompletado mas rápido -(use-package company-quickhelp - :defer t - :ensure t - :custom - (company-quickhelp-delay 2) - (company-quickhelp-mode)) - ;; Hacer que el autocompletado se vea más bonito con íconos (use-package company-box :defer t @@ -134,33 +65,72 @@ ;; Usar autocompletado con ctags y company (use-package company-ctags :defer t) -;; Snippets -(use-package yasnippet +;; Poner la info acerca del autocompletado del autocompletado mas rápido +(use-package company-quickhelp :defer t :ensure t :custom - (yas-prompt-functions '(yas-completing-prompt)) + (company-quickhelp-delay 2) + (company-quickhelp-mode)) + +;; Autocompletado para shell scripting. +(use-package company-shell + :defer t :config - (yas-reload-all) - :hook - ((prog-mode feature-mode) . yas-minor-mode-on) - (html-mode . yas-minor-mode)) + (add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell)) + ) -(use-package yasnippet-snippets :ensure t :defer t) +;; Autocompletado para el minibuffer (counsel e ivy) +(use-package counsel :defer t) -;; Restaurar el estado de los frames -(use-package winner +;; Autocompletado de proyectos en counsel (projectile) +(use-package counsel-projectile + :defer t + :config + (counsel-projectile-mode)) + +;; Un bonito y sencillo panel de inicio +(use-package dashboard :defer t :init - (winner-mode 1)) + (dashboard-setup-startup-hook) + :config + (setq dashboard-set-file-icons t) + (setq dashboard-set-heading-icons t) + (setq dashboard-set-file-icons t) + (setq dashboard-startup-banner + (expand-file-name "duck-small.png" user-emacs-directory)) + (setq dashboard-items '( + (agenda . 10) + ;;(recents . 10) + )) + ) -(use-package lsp-mode +;; Mover líneas o regiones +(use-package drag-stuff :defer t -;; :hook (js-mode . lsp-deferred) - :custom - (lsp-headerline-breadcrumb-enable nil)) + :init + (drag-stuff-global-mode 1) + :config + (drag-stuff-define-keys)) -(use-package lsp-ui :defer t) +;; La línea bonita esa de abajo +(use-package doom-modeline + :defer t + :ensure t + :init (doom-modeline-mode 1) + :config + (setq doom-modeline-project-detection 'auto + doom-modeline-buffer-file-name-style 'relative-from-project + doom-modeline-major-mode-color-icon t + doom-modeline-buffer-modification-icon t + doom-modeline-indent-info nil + doom-modeline-persp-name t)) + +;; Emmet - Una ayuda para escribir HTML rápidamente (escribre doc, luego preciona C-j y lo entenderás) +(use-package emmet-mode + :defer t + :hook (html-mode . emmet-mode)) ;; Revisar sintaxis en vivo (use-package flycheck @@ -174,31 +144,59 @@ :defer t :hook (flycheck-mode . flycheck-popup-tip-mode)) -;; Un bonito y sencillo panel de inicio -(use-package dashboard +;; Git Gutter - Marca a la izq. si una linea ha sido agregada, editada o eliminada desde el último commit. +(use-package git-gutter + :defer t + :init + (global-git-gutter-mode +1)) + +;; Highlight en los números. +(use-package highlight-numbers + :defer t + :ensure t + :hook + (prog-mode . highlight-numbers-mode)) + +;; Mostrar info del panel inferior de otra manera +(use-package ivy :defer t :config - (setq dashboard-set-file-icons t) - (setq dashboard-set-heading-icons t) - (setq dashboard-set-file-icons t) - (setq dashboard-startup-banner - (expand-file-name "duck-small.png" user-emacs-directory)) - (setq dashboard-items '( - (agenda . 10) - (recents . 10) - )) + (ivy-mode 1) + (setq ivy-use-virtual-buffers nil) ) -;; Autocompletado para shell scripting. -(use-package company-shell +(use-package ivy-rich :defer t + :ensure t :config - (add-to-list 'company-backends '(company-shell company-shell-env company-fish-shell)) - ) + (ivy-rich-mode 1)) -;; Autocompletado para el minibuffer (counsel e ivy) -(use-package counsel :defer t) +;; Languaje server protocol +(use-package lsp-mode + :defer t +;; :hook (js-mode . lsp-deferred) + :custom + (lsp-headerline-breadcrumb-enable nil)) +;; Interface para lsp +(use-package lsp-ui :defer t) + +;; Magia para git +(use-package magit :defer t) + +;; Modo markdown +(use-package markdown-mode :defer t) + +;; Multiple vterm +(use-package multi-vterm :ensure t :defer t) + +;; Code Folding +(use-package origami + :defer t + :init + (global-origami-mode)) + +;; Paquete para manejo de proyectos (use-package projectile :defer t :diminish projectile-mode @@ -231,53 +229,72 @@ ) ) -;; Autocompletado de proyectos en counsel (projectile) -(use-package counsel-projectile +;; Recentf - Guarda registro de los archivos abiertos recientemente +(use-package recentf :defer t :config - (counsel-projectile-mode)) + (setq recentf-save-file + (recentf-expand-file-name (concat temp-dir "/recentf"))) + (recentf-mode 1)) -;; Mostrar info del panel inferior de otra manera -(use-package ivy +;; Guardar la posición del cursor en un archivo para volver allí cuando se lo vuelva a abrir. +(use-package saveplace :defer t + :init + (save-place-mode 1) :config - (ivy-mode 1) - (setq ivy-use-virtual-buffers nil) - ) - -;; Iconos en Ivy (allthe icons) -(use-package all-the-icons-ivy-rich - :defer t - :ensure t - :config - (setq all-the-icons-ivy-rich-color-icon t)) - -(use-package ivy-rich - :ensure t - :defer t) - -;; Cuando iniicias un atajo de teclas te muestra las posibilidades -(use-package which-key :defer t) + (setq save-place-file (locate-user-emacs-file (concat temp-dir "/places")))) ;; Autocompletado de parentesis, corchetes, llaves, etc. -(use-package smartparens :defer t) +(use-package smartparens + :defer t + :init + (smartparens-global-mode t)) -;; Magia para git -(use-package magit :defer t) +;; Mejorando el scroll +(use-package smooth-scrolling + :defer t + :init + (smooth-scrolling-mode 1) + :config + (setq mouse-wheel-scroll-amount + '(8 ((shift) . 1) ((control) . nil))) ; Cambia el scroll a 8 líneas a la vez, 1 cuando se preciona SHIFT y saltos de página cuando presionas CTRL + (setq mouse-wheel-progressive-speed nil) ; Deshabilita la velocidad progresiva del scroll (mientras más scroll haces, mas rápido va) + ) + +;; use-package - No necesita presentación +(use-package use-package :defer t) + +;; Terminal +(use-package vterm :ensure t :defer t) + +;; Cuando iniicias un atajo de teclas te muestra las posibilidades +(use-package which-key + :defer t + :init + (which-key-mode)) + +;; Restaurar el estado de los frames +(use-package winner + :defer t + :init + (winner-mode 1)) + +;; +(use-package yasnippet + :defer t + :ensure t + :custom + (yas-prompt-functions '(yas-completing-prompt)) + :config + (yas-reload-all) + :hook + ((prog-mode feature-mode) . yas-minor-mode-on) + (html-mode . yas-minor-mode)) + +;; +(use-package yasnippet-snippets :ensure t :defer t) -;; Auto-inicios de major y minor modes afuera para poder hacer defer -(smooth-scrolling-mode 1) -(auto-package-update-maybe) -(drag-stuff-global-mode 1) -(save-place-mode 1) -(global-git-gutter-mode +1) -(dashboard-setup-startup-hook) -(global-origami-mode) -(ivy-rich-mode 1) -(all-the-icons-ivy-rich-mode 1) -(which-key-mode) -(smartparens-global-mode t) -(setq use-package-always-ensure t) ; auto-instalar paquetes que no estésn instalados ;; Org-Mode (require 'org-config)