From d497b1280524f52f522b90e2068e7a8485d3ee6b Mon Sep 17 00:00:00 2001 From: kj Date: Tue, 29 Apr 2025 19:41:46 -0300 Subject: [PATCH] Improve a few the startup time. --- configs/init-corfu.el | 3 +- configs/init-eglot.el | 3 +- configs/init-packages.el | 88 ++++++++++++++++++++-------------------- configs/init-vc.el | 24 +++++------ 4 files changed, 58 insertions(+), 60 deletions(-) diff --git a/configs/init-corfu.el b/configs/init-corfu.el index 9f54ee5..f9f7f90 100644 --- a/configs/init-corfu.el +++ b/configs/init-corfu.el @@ -16,7 +16,7 @@ ;;; Code: (use-package corfu - :defer t + :defer 1 :ensure (:files (:defaults "extensions/*") :includes (corfu-info corfu-history)) :hook ((elpaca-after-init . global-corfu-mode) @@ -46,6 +46,7 @@ ;; Cambia la forma de mostrar y buscar sugerencias (afecta a corfu, pero también a otros como vertico). (use-package orderless :defer t + :after corfu :custom (completion-styles '(orderless)) ; Use orderless (completion-category-defaults nil) ; I want to be in control! diff --git a/configs/init-eglot.el b/configs/init-eglot.el index f4b6c28..32fa991 100644 --- a/configs/init-eglot.el +++ b/configs/init-eglot.el @@ -61,6 +61,7 @@ ;; Emmet (mientras veo como hacer funcionar emmet-ls) (use-package emmet-mode :defer t + :after eglot :hook ((html-mode . emmet-mode) (web-mode . emmet-mode)) @@ -68,7 +69,7 @@ ;; Revisar por errores en el código (use-package flymake - :defer t + :defer 1 :ensure nil :hook (prog-mode . (lambda () (unless (derived-mode-p 'makefile-mode) diff --git a/configs/init-packages.el b/configs/init-packages.el index 411301e..34bf5d8 100644 --- a/configs/init-packages.el +++ b/configs/init-packages.el @@ -16,13 +16,13 @@ ;; Mejora del reemplazo (use-package anzu - :defer t + :defer 2 :bind (([remap query-replace] . anzu-query-replace) ([remap query-replace-regexp] . anzu-query-replace-regexp))) ;; Intercamiar buffers de lugar (use-package buffer-move - :defer t + :defer 2 :bind (("M-S-" . buf-move-up) ("M-S-" . buf-move-down) ("M-S-" . buf-move-left) @@ -31,12 +31,12 @@ ;; Mostrar la ayuda de eldoc/documentación en un childframe (use-package eldoc-box - :defer t + :defer 1 :bind ("" . eldoc-box-help-at-point)) ;; Seleccionar por regiones (similar a mark-sexp, pero toma en cuenta hacia atrás del cursor también) (use-package expand-region - :defer t + :defer 2 :bind (("C-+" . er/expand-region) ("C-=" . er/expand-region))) @@ -49,7 +49,7 @@ ;; Visor de documentos de emacs (soporta de todo: epub, pdf, odt, docx, cbz, etc.) (use-package doc-view - :defer t + :defer 1 :hook (doc-view-mode . (lambda () (display-line-numbers-mode 0))) @@ -74,13 +74,12 @@ ;; Coloca en emacs la documentacón distribuída por devdocs.io (use-package devdocs - :defer t) + :defer 2) ;; Sidebar a la derecha con los archivos (use-package dired-sidebar - :defer t + :defer 1 :hook (dired-mode . hl-line-mode) - :ensure t :bind ([f9] . dired-sidebar-toggle-sidebar) :commands (dired-sidebar-toggle-sidebar) :config @@ -91,10 +90,10 @@ ;; La línea bonita esa de abajo (use-package doom-modeline - :defer t + :after emacs :ensure t - :hook (elpaca-after-init . doom-modeline-mode) :config + (doom-modeline-mode) (setq doom-modeline-project-detection 'auto doom-modeline-buffer-file-name-style 'relative-from-project doom-modeline-major-mode-color-icon t @@ -104,42 +103,40 @@ ;; Modo para edición de arc docker compose (use-package docker-compose-mode - :ensure t - :defer t) + :defer 1) ;; Modo para la edición de archivos Dockerfile (y building desde emacs) (use-package dockerfile-mode - :ensure t - :defer t + :defer 1 :config ;; Suelo tener podman siempre en lugar de docker, así que lo definimos como el comando a usar (setq dockerfile-mode-command "podman")) ;; Mover líneas o regiones (use-package drag-stuff - :defer t - :hook - (elpaca-after-init . drag-stuff-global-mode) + :defer 1 :config + (drag-stuff-global-mode) (drag-stuff-define-keys)) ;; Emparejamiento automático de comillas, paréntesis, corchetes y llaves ;; (use-package electric-pair -;; :defer t +;; :defer 1 ;; :ensure nil -;; :hook (elpaca-after-init . electric-pair-mode) ;; :config +;; (electric-pair-mode) ;; (setq electric-pair-delete-adjacent-pairs nil)) ;; Cargar las variables de entorno desde la configuración del usuario (use-package exec-path-from-shell - :hook - (elpaca-after-init . exec-path-from-shell-initialize) + :after emacs + :config + (exec-path-from-shell-initialize) :defer t) ;; Resalta los escapes de secuencia (use-package highlight-escape-sequences - :defer t + :defer 2 :hook (prog-mode . hes-mode) :config (setq hes-mode-alist @@ -163,23 +160,23 @@ ;; Resaltar palabras clave como TODO, FIXME, etc. en comentarios del código. (use-package hl-todo :ensure (hl-todo :version (lambda (_) "3.6.0")) - :defer t + :defer 1 :hook (prog-mode . hl-todo-mode) :config (add-to-list 'hl-todo-keyword-faces '("BUG" . "#d99600"))) ;; Paquete para exportar buffers de emacs a HTML (use-package htmlize - :defer t + :defer 2 :ensure t) ;; Permite crear conjuntos de atajos. (use-package hydra - :defer t) + :defer 1) ;; Mostrar lo que se está presionando en pantalla (use-package keypression - :defer t + :defer 2 :config (setq keypression-use-child-frame t keypression-fade-out-delay 1.0 @@ -194,11 +191,12 @@ ;; Modo markdown (use-package markdown-mode - :defer t) + :defer 1) ;; Multiple vterm (use-package multi-vterm :defer t + :after vterm :bind* (("" . multi-vterm-dedicated-toggle) ("C-x tt" . multi-vterm-dedicated-toggle) ("C-x tf" . multi-vterm) @@ -209,16 +207,17 @@ ;; Iconos bonitos para varias cosas (use-package nerd-icons - :defer t) + :defer 1) ;; Usar nerd-icons en dired (use-package nerd-icons-dired - :defer t + :defer 1 + :after nerd-icons :hook (dired-mode . nerd-icons-dired-mode)) ;; Modo para leer archivos de configuración de nginx (use-package nginx-mode - :defer t) + :defer 1) ;; Múltiples modos en un mismo buffer ;; (use-package polymode @@ -226,7 +225,7 @@ ;; Des-minifica / ordena el código (use-package prettier - :defer t) + :defer 2) (use-package project :defer t @@ -246,7 +245,7 @@ ;; Correr el código desde el buffer de emacs (use-package quickrun - :defer t + :defer 2 :ensure t :bind (:map prog-mode-map ("C-c C-r" . quickrun) @@ -272,7 +271,7 @@ ;; Busqueda rápida con ripgrep (use-package rg - :defer t + :defer 1 ;; :hook (elpaca-after-init . rg-enable-default-bindings) :bind (:map rg-global-map ("c" . rg-dwim-current-dir) @@ -296,9 +295,9 @@ ;; Mejorando el scroll (use-package smooth-scrolling - :defer t - :hook (elpaca-after-init . smooth-scrolling-mode) + :defer 1 :config + (smooth-scrolling-mode 1) (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) @@ -325,7 +324,7 @@ ;; Mecanografía (use-package speed-type - :defer t + :defer 1 :hook (speed-type-mode . (lambda () (corfu-mode 0) @@ -380,8 +379,7 @@ ;; Terminal (use-package vterm - :ensure t - :defer t + :defer 1 :config (setq tramp-histfile-override nil) ;; Dejamos que se use el history por defecto del servidor remoto (setq vterm-tramp-shells '(("ssh" "/bin/bash") @@ -392,8 +390,9 @@ ;; Cuando inicias un atajo de teclas te muestra las posibilidades (use-package which-key - :defer t - :hook (elpaca-after-init . which-key-mode)) + :defer 1 + :config + (which-key-mode)) ;; Muestra which-key en un frame en el centro en lugar de abajo (use-package which-key-posframe @@ -404,12 +403,13 @@ ;; Restaurar el estado de los frames (use-package winner :ensure nil - :defer t - :hook (elpaca-after-init . winner-mode)) + :defer 2 + :config + (winner-mode)) ;; Emacs Start Up Profiler -(use-package esup - :defer t) +;; (use-package esup +;; :defer t) (provide 'init-packages) ;;; init-packages.el ends here diff --git a/configs/init-vc.el b/configs/init-vc.el index 325f8d4..1fffa78 100644 --- a/configs/init-vc.el +++ b/configs/init-vc.el @@ -15,7 +15,7 @@ ;; Resolver diferencias entre 2 archivos o versiones del mismo. (use-package ediff - :defer t + :defer 2 :ensure nil :config (setq ediff-diff-options "") @@ -25,10 +25,9 @@ ;; 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 - :hook - (elpaca-after-init . global-git-gutter-mode) + :defer 2 :config + (global-git-gutter-mode 1) (defhydra hydra-git-gutter (:hint nil) " ^Navigation^ | ^Actions^ | ^Others^ @@ -47,27 +46,25 @@ ;; Visitar rápidamente viejas versiones de un archivo rápidamente (use-package git-timemachine - :ensure t - :defer t) + :defer 3) ;; Generador automatizado de archivos de licencia (use-package license-templates - :defer t) + :defer 3) ;; Magia para git (use-package magit - :defer t) + :defer 2) ;; Todolist en magit de todos los archivos del projecto. (use-package magit-todos - :defer t - :after magit + :defer 3 :config (magit-todos-mode 1)) ;; Modo para resolución de confictos (use-package smerge-mode :ensure nil - :defer t + :defer 2 :config (defhydra hydra-smerge (:color pink :hint nil) @@ -100,12 +97,11 @@ _p_rev _u_pper _=_: upper/lower _r_esolve ) (use-package transient - :defer t - :ensure t) + :defer 2) ;; Mostrar el último commit que modificó la linea actual (use-package vc-msg - :defer t + :defer 2 :bind (("C-c v" . vc-msg-show) ("C-c C-v" . vc-msg-show)) )