diff --git a/configs/init-packages.el b/configs/init-packages.el index 59273ca..90691d5 100644 --- a/configs/init-packages.el +++ b/configs/init-packages.el @@ -117,16 +117,6 @@ doom-modeline-indent-info nil doom-modeline-persp-name t)) -;; Resolver diferencias entre 2 archivos o versiones del mismo. -(use-package ediff - :defer t - :ensure nil - :config - (setq ediff-diff-options "") - (setq ediff-custom-diff-options "-u") - (setq ediff-window-setup-function 'ediff-setup-windows-plain) - (setq ediff-split-window-function 'split-window-vertically)) - ;; Emparejamiento automático de comillas, paréntesis, corchetes y llaves (use-package electric-pair :defer t @@ -135,33 +125,6 @@ :config (setq electric-pair-delete-adjacent-pairs nil)) -;; 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) - :config - (defhydra hydra-git-gutter (:hint nil) - " - ^Navigation^ | ^Actions^ | ^Others^ --^-----------^-+-^----^--------+-^-------^---------- - _p_: previous | _s_: stage | _m_: mark - _n_: next | _r_: revert | _SPC_: toggle info --^-----------^-+-^----^--------+-^-------^---------- -" - ("p" git-gutter:previous-hunk) - ("n" git-gutter:next-hunk) - ("s" git-gutter:stage-hunk) - ("r" git-gutter:revert-hunk) - ("m" git-gutter:mark-hunkmark) - ("SPC" git-gutter:toggle-popup-hunk)) - ) - -;; Visitar rápidamente viejas versiones de un archivo rápidamente -(use-package git-timemachine - :ensure t - :defer t) - ;; Cliente LLM (ollama, chatgpt, gemini, etc.) (use-package gptel :defer t @@ -245,20 +208,6 @@ keypression-font-face-attribute '(:width normal :height 180 :weight bold)) ) -;; Generador automatizado de archivos de licencia -(use-package license-templates - :defer t) - -;; Magia para git -(use-package magit - :defer t) - -;; Todolist en magit de todos los archivos del projecto. -(use-package magit-todos - :defer t - :after magit - :config (magit-todos-mode 1)) - ;; Modo markdown (use-package markdown-mode :defer t) @@ -440,13 +389,6 @@ (message "`%s' parser was installed." lang) (sit-for 0.75))))) -;; Mostrar el último commit que modificó la linea actual -(use-package vc-msg - :defer t - :bind (("C-c v" . vc-msg-show) - ("C-c C-v" . vc-msg-show)) - ) - ;; Terminal (use-package vterm :ensure t diff --git a/configs/init-vc.el b/configs/init-vc.el new file mode 100644 index 0000000..6bad154 --- /dev/null +++ b/configs/init-vc.el @@ -0,0 +1,111 @@ +;;; init-vc.el --- Configuración del control de versiones -*- lexical-binding: t -*- + +;; Author: kj +;; URL: https://git.kj2.me/kj/confi-emacs-actual + +;;; Commentary: + +;; Archivo de configuración específico para el control de versiones. +;; +;; Puedes que hoy en día la norma es usar git para este trabajo, +;; la gran mayoría de configuraciones son justamente para el mismo. + + +;;; Code: + +;; Resolver diferencias entre 2 archivos o versiones del mismo. +(use-package ediff + :defer t + :ensure nil + :config + (setq ediff-diff-options "") + (setq ediff-custom-diff-options "-u") + (setq ediff-window-setup-function 'ediff-setup-windows-plain) + (setq ediff-split-window-function 'split-window-vertically)) + +;; 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) + :config + (defhydra hydra-git-gutter (:hint nil) + " + ^Navigation^ | ^Actions^ | ^Others^ +-^-----------^-+-^----^--------+-^-------^---------- + _p_: previous | _s_: stage | _m_: mark + _n_: next | _r_: revert | _SPC_: toggle info +-^-----------^-+-^----^--------+-^-------^---------- +" + ("p" git-gutter:previous-hunk) + ("n" git-gutter:next-hunk) + ("s" git-gutter:stage-hunk) + ("r" git-gutter:revert-hunk) + ("m" git-gutter:mark-hunkmark) + ("SPC" git-gutter:toggle-popup-hunk)) + ) + +;; Visitar rápidamente viejas versiones de un archivo rápidamente +(use-package git-timemachine + :ensure t + :defer t) + +;; Generador automatizado de archivos de licencia +(use-package license-templates + :defer t) + +;; Magia para git +(use-package magit + :defer t) + +;; Todolist en magit de todos los archivos del projecto. +(use-package magit-todos + :defer t + :after magit + :config (magit-todos-mode 1)) + +;; Modo para resolución de confictos +(use-package smerge-mode + :ensure nil + :defer t + :config + (defhydra hydra-smerge (:color pink + :hint nil) + " +^Move^ ^Keep^ ^Diff^ ^Other^ +^^-----------^^-------------------^^---------------------^^------- +_n_ext _b_ase _<_: upper/base _C_ombine +_p_rev _u_pper _=_: upper/lower _r_esolve +^^ _l_ower _>_: base/lower _k_ill current +^^ _a_ll _R_efine +^^ _RET_: current _E_diff +" + ("n" smerge-next) + ("p" smerge-prev) + ("b" smerge-keep-base) + ("u" smerge-keep-upper) + ("l" smerge-keep-lower) + ("a" smerge-keep-all) + ("RET" smerge-keep-current) + ("\C-m" smerge-keep-current) + ("<" smerge-diff-base-upper) + ("=" smerge-diff-upper-lower) + (">" smerge-diff-base-lower) + ("R" smerge-refine) + ("E" smerge-ediff) + ("C" smerge-combine-with-next) + ("r" smerge-resolve) + ("k" smerge-kill-current) + ("q" nil "cancel" :color blue)) + ) + +;; Mostrar el último commit que modificó la linea actual +(use-package vc-msg + :defer t + :bind (("C-c v" . vc-msg-show) + ("C-c C-v" . vc-msg-show)) + ) + + +(provide 'init-vc) +;;; init-vc.el ends here diff --git a/init.el b/init.el index 10c7a3c..c17ac22 100644 --- a/init.el +++ b/init.el @@ -18,6 +18,7 @@ (require 'init-theme) (require 'init-packages) (require 'init-functions) +(require 'init-vc) (require 'init-org) (require 'init-eglot) (require 'init-corfu)