From 88ae6fc2e813147a6ef509a0f500903cf68019cc Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Sat, 11 May 2024 13:04:07 +0530 Subject: (Emacs/config)~Re-positioned xref and projectile --- Emacs/.config/emacs/config.org | 124 ++++++++++++++++++++--------------------- 1 file changed, 61 insertions(+), 63 deletions(-) (limited to 'Emacs/.config/emacs/config.org') diff --git a/Emacs/.config/emacs/config.org b/Emacs/.config/emacs/config.org index ae8d3d3..25023e4 100644 --- a/Emacs/.config/emacs/config.org +++ b/Emacs/.config/emacs/config.org @@ -397,37 +397,6 @@ really need this in my config at all times. Enable when needed. (use-package esup :defer t) #+end_src -** xref -Find definitions, references and general objects using tags without -external packages. Provided by default in Emacs and just requires a -way of generating a =TAGS= file for your project. Helps with minimal -setups for programming without heavier packages like [[*Eglot][Eglot]]. - -[[*Projectile][Projectile]] provides a nice way to generate tags. -#+begin_src emacs-lisp -(use-package xref - :straight nil - :display - ("\\*xref\\*" - (display-buffer-at-bottom) - (inhibit-duplicate-buffer . t) - (window-height . 0.25)) - :general - (code-leader - "t" '(nil :which-key "Tags")) - (code-leader - :infix "t" - "t" #'xref-find-apropos - "d" #'xref-find-definitions - "r" #'xref-find-references) - (nmmap - :keymaps 'xref--xref-buffer-mode-map - "RET" #'xref-goto-xref - "J" #'xref-next-line - "K" #'xref-prev-line - "g" #'xref-revert-buffer - "q" #'quit-window)) -#+end_src ** Hl-line Highlights the current line, much better than a blinking cursor. #+begin_src emacs-lisp @@ -443,38 +412,6 @@ Recentf provides a method of keeping track of recently opened files. :straight nil :hook (emacs-startup-hook . recentf-mode)) #+end_src -** WAIT Projectile -:PROPERTIES: -:header-args:emacs-lisp: :tangle no -:END: -Projectile is a project management package which integrates with Emacs -very well. It essentially provides alternative Emacs commands scoped -to the current 'project', based on differing signs that a directory is -a 'project'. -#+begin_src emacs-lisp -(use-package projectile - :after evil - :hook (emacs-startup-hook . projectile-mode) - :general - (general-def - :keymaps 'projectile-command-map - "t" #'projectile-test-project - "r" #'projectile-run-project - "q" #'projectile-replace-regexp) - (leader - "p" '(projectile-command-map :which-key "Projectile")) - :init - (setq projectile-tags-command "ctags -Re -f \"%s\" %s \"%s\"" - projectile-enable-caching t)) -#+end_src -*** Counsel projectile -Counsel integration for projectile commands, very nice. -#+begin_src emacs-lisp -(use-package counsel-projectile - :after (projectile counsel) - :config - (counsel-projectile-mode +1)) -#+end_src ** Avy Setup avy with leader. As I use ~avy-goto-char-timer~ a lot, use the ~C-s~ bind which replaces isearch. Switch isearch to M-s in case I @@ -1141,6 +1078,67 @@ Colourising the compilation buffer so ANSI colour codes get computed. (ansi-color-apply-on-region (point-min) (point-max)))) (add-hook 'compilation-filter-hook #'+compile/colourise)) #+end_src +** xref +Find definitions, references and general objects using tags without +external packages. Provided by default in Emacs and just requires a +way of generating a =TAGS= file for your project. Helps with minimal +setups for programming without heavier packages like [[*Eglot][Eglot]]. +#+begin_src emacs-lisp +(use-package xref + :straight nil + :display + ("\\*xref\\*" + (display-buffer-at-bottom) + (inhibit-duplicate-buffer . t) + (window-height . 0.25)) + :general + (code-leader + "t" '(nil :which-key "Tags")) + (code-leader + :infix "t" + "t" #'xref-find-apropos + "d" #'xref-find-definitions + "r" #'xref-find-references) + (nmmap + :keymaps 'xref--xref-buffer-mode-map + "RET" #'xref-goto-xref + "J" #'xref-next-line + "K" #'xref-prev-line + "g" #'xref-revert-buffer + "q" #'quit-window)) +#+end_src +** WAIT Projectile +:PROPERTIES: +:header-args:emacs-lisp: :tangle no +:END: +Projectile is a project management package which integrates with Emacs +very well. It essentially provides alternative Emacs commands scoped +to the current 'project', based on differing signs that a directory is +a 'project'. +#+begin_src emacs-lisp +(use-package projectile + :after evil + :hook (emacs-startup-hook . projectile-mode) + :general + (general-def + :keymaps 'projectile-command-map + "t" #'projectile-test-project + "r" #'projectile-run-project + "q" #'projectile-replace-regexp) + (leader + "p" '(projectile-command-map :which-key "Projectile")) + :init + (setq projectile-tags-command "ctags -Re -f \"%s\" %s \"%s\"" + projectile-enable-caching t)) +#+end_src +*** Counsel projectile +Counsel integration for projectile commands, very nice. +#+begin_src emacs-lisp +(use-package counsel-projectile + :after (projectile counsel) + :config + (counsel-projectile-mode +1)) +#+end_src * Org mode 2023-03-30: finally decided to give org mode its own section. -- cgit v1.2.3-13-gbd6f