diff options
| -rw-r--r-- | init.el | 19 | ||||
| -rw-r--r-- | lisp/ravi-ergodox-mode.el | 18 | ||||
| -rw-r--r-- | lisp/ravi-init-appearance.el | 2 | ||||
| -rw-r--r-- | lisp/ravi-init-cpp.el | 10 | ||||
| -rw-r--r-- | lisp/ravi-init-files.el | 4 | ||||
| -rw-r--r-- | lisp/ravi-init-helm.el | 3 | ||||
| -rw-r--r-- | lisp/ravi-init-ido.el | 4 | ||||
| -rw-r--r-- | lisp/ravi-init-lsp.el | 4 | ||||
| -rw-r--r-- | lisp/ravi-init-marks.el | 2 | ||||
| -rw-r--r-- | lisp/ravi-init-mu.el | 2 | ||||
| -rw-r--r-- | lisp/ravi-init-python.el | 4 | ||||
| -rw-r--r-- | lisp/ravi-init-tex.el | 4 | ||||
| -rw-r--r-- | lisp/ravi-init-vc.el | 8 | ||||
| -rw-r--r-- | lisp/ravi-init-web.el | 12 |
14 files changed, 54 insertions, 42 deletions
@@ -73,8 +73,8 @@ (setq use-package-always-ensure t use-package-hook-name-suffix nil) -(defvar ravi/use-helm-instead-of-ido t - "Prefer helm to ido") +(defvar ravi/use-selection-system 'selectrum + "Valid values are 'ido 'helm 'selectrum 'vertico") (when (file-exists-p (ravi/emacs-file "local.el")) (load-file (ravi/emacs-file "local.el"))) @@ -132,14 +132,12 @@ (setq x-alt-keysym 'hyper) (setq x-hyper-keysym 'alt))) (progn - ;; Temporary key-bindings - (if (bound-and-true-p ravi/use-helm-instead-of-ido) - (progn - (bind-key "<f9>" 'helm-find-files) - (bind-key "<f8>" 'helm-mini)) - (progn - (bind-key "<f9>" 'ido-find-file) - (bind-key "<f8>" 'ido-switch-buffer))) + (pcase ravi/use-selection-system + ('helm (bind-key "<f9>" 'helm-find-files) + (bind-key "<f8>" 'helm-mini)) + ('ido (bind-key "<f9>" 'ido-find-file) + (bind-key "<f8>" 'ido-switch-buffer)) + (_ nil)) ; do nothing for selectrum (bind-key "<f12>" 'undo-tree-undo)))) (use-package free-keys @@ -157,6 +155,7 @@ (require 'ravi-init-maps) (require 'ravi-init-ido) (require 'ravi-init-helm) +(require 'ravi-init-completion) (require 'ravi-init-marks) (require 'ravi-init-appearance) (require 'ravi-init-files) diff --git a/lisp/ravi-ergodox-mode.el b/lisp/ravi-ergodox-mode.el index 852285e..ddee53e 100644 --- a/lisp/ravi-ergodox-mode.el +++ b/lisp/ravi-ergodox-mode.el @@ -57,13 +57,17 @@ Each function in the list receive no argument." ))) (define-key ravi-ergodox-mode-map (kbd "H-m") 'magit-status) -(if (and (boundp 'ravi/use-helm-instead-of-ido) ravi/use-helm-instead-of-ido) - (progn - (define-key ravi-ergodox-mode-map (kbd "<f1>") 'helm-multi-files) - (define-key ravi-ergodox-mode-map (kbd "<f2>") 'helm-find-files)) - (progn - (define-key ravi-ergodox-mode-map (kbd "<f1>") 'ido-switch-buffer) - (define-key ravi-ergodox-mode-map (kbd "<f2>") 'ido-find-file))) +(when (boundp 'ravi/use-selection-system) + (pcase ravi/use-selection-system + ('helm (define-key ravi-ergodox-mode-map (kbd "<f1>") 'helm-multi-files) + (define-key ravi-ergodox-mode-map (kbd "<f2>") 'helm-find-files)) + ('ido (define-key ravi-ergodox-mode-map (kbd "<f1>") 'ido-switch-buffer) + (define-key ravi-ergodox-mode-map (kbd "<f2>") 'ido-find-file)) + ('selectrum (define-key ravi-ergodox-mode-map (kbd "<f1>") 'consult-buffer) + (define-key ravi-ergodox-mode-map (kbd "<f2>") 'find-file)) + ('vertico (define-key ravi-ergodox-mode-map (kbd "<f1>") 'consult-buffer) + (define-key ravi-ergodox-mode-map (kbd "<f2>") 'find-file)) + (_ nil))) (defun ravi-ergodox-mode-enable () "Turn on ergodox bindings mode." diff --git a/lisp/ravi-init-appearance.el b/lisp/ravi-init-appearance.el index de6ddf2..b4c4a7a 100644 --- a/lisp/ravi-init-appearance.el +++ b/lisp/ravi-init-appearance.el @@ -379,7 +379,7 @@ Delete all whitespace on a successive key press." (progn (require 'spaceline-config) (spaceline-spacemacs-theme) - (when ravi/use-helm-instead-of-ido + (when (equal ravi/use-selection-system 'helm) (spaceline-helm-mode)))) (use-package helpful diff --git a/lisp/ravi-init-cpp.el b/lisp/ravi-init-cpp.el index 5e3cfb1..488e1ab 100644 --- a/lisp/ravi-init-cpp.el +++ b/lisp/ravi-init-cpp.el @@ -151,8 +151,8 @@ (unbind-key "M-j" c-mode-base-map) (bind-key "C-c C-i" 'c-includes-current-file c-mode-base-map) - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("C"))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("C"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("C"))) (set (make-local-variable 'parens-require-spaces) t) (setq fill-column 88) @@ -199,8 +199,8 @@ (modify-syntax-entry ?_ "w" c++-mode-syntax-table) (setq c-macro-cppflags "-x c++") (setq c-macro-prompt-flag t) - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("C" "C++" "Boost" "Qt"))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("C" "C++" "Boost" "Qt"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("C" "C++" "Boost" "Qt"))) ) (defun ravi/c++-hook-adder () (add-hook 'c++-mode-hook 'my-c++-mode-hook)) @@ -387,7 +387,7 @@ this to 3 makes header-protection define KIG_MISC_NEWTYPE_H for a file named (setq rtags-path (ravi/emacs-file "site-lisp/rtags/bin")) (setq rtags-autostart-diagnostics t) (setq rtags-completions-enabled t) - (when ravi/use-helm-instead-of-ido + (when (equal ravi/use-selection-system 'helm) (setq rtags-display-result-backend 'helm)) ;; Extra support for company-c-headers if we can get include paths diff --git a/lisp/ravi-init-files.el b/lisp/ravi-init-files.el index d279176..f7617b8 100644 --- a/lisp/ravi-init-files.el +++ b/lisp/ravi-init-files.el @@ -69,6 +69,7 @@ (add-to-list 'recentf-exclude "/COMMIT_EDITMSG$") (add-to-list 'recentf-exclude "/kmail[[:alnum:]]*\\.tmp$") (add-to-list 'recentf-exclude "/elpa/.*/*-autoloads.el$") + (recentf-mode +1) )) (require 'uniquify) @@ -145,7 +146,8 @@ not exist, it is not added to the filecache." (projectile-global-mode) (bind-key "C-<f2>" 'projectile-find-file-dwim) - (if (and (boundp 'ravi/use-helm-instead-of-ido) ravi/use-helm-instead-of-ido) + (if (and (boundp 'ravi/use-selection-system) + (equal ravi/use-selection-system 'helm)) (progn (setq projectile-completion-system 'helm) diff --git a/lisp/ravi-init-helm.el b/lisp/ravi-init-helm.el index 69e91bb..a207e16 100644 --- a/lisp/ravi-init-helm.el +++ b/lisp/ravi-init-helm.el @@ -103,10 +103,11 @@ :init (progn (setq xref-show-xrefs-function 'helm-xref-show-xrefs)))) - :if ravi/use-helm-instead-of-ido + :if (equal ravi/use-selection-system 'helm) :diminish helm-mode) (use-package helm-swoop + :if (equal ravi/use-selection-system 'helm) :bind (("M-i" . helm-swoop)) :commands helm-swoop-from-isearch :init diff --git a/lisp/ravi-init-ido.el b/lisp/ravi-init-ido.el index 9e15aba..bddcaf1 100644 --- a/lisp/ravi-init-ido.el +++ b/lisp/ravi-init-ido.el @@ -79,7 +79,7 @@ ido-selected ido-final-text ido-show-confirm-message) - :if (not ravi/use-helm-instead-of-ido) + :if (equal ravi/use-selection-system 'ido) :init (ido-mode 1) @@ -159,7 +159,7 @@ (use-package smex :init (global-set-key [remap execute-extended-command] 'smex) - :if (not ravi/use-helm-instead-of-ido)) + :if (equal ravi/use-selection-system 'ido)) (provide 'ravi-init-ido) ;;; ravi-init-ido.el ends here diff --git a/lisp/ravi-init-lsp.el b/lisp/ravi-init-lsp.el index e5be4fe..27c8996 100644 --- a/lisp/ravi-init-lsp.el +++ b/lisp/ravi-init-lsp.el @@ -42,7 +42,11 @@ (setq lsp-enable-indentation nil) ; I'll handle indentation myself (setq lsp-headerline-breadcrumb-enable nil) (use-package helm-lsp + :if (equal ravi/use-selection-system 'helm) :commands helm-lsp-workspace-symbol) + (use-package consult-lsp + :if (member ravi/use-selection-system '(selectrum vertico)) + :commands (consult-lsp-diagnostics consult-lsp-symbols)) (use-package lsp-ui :commands lsp-ui-mode :hook (lsp-mode . lsp-ui-mode) diff --git a/lisp/ravi-init-marks.el b/lisp/ravi-init-marks.el index 5116910..0c2576b 100644 --- a/lisp/ravi-init-marks.el +++ b/lisp/ravi-init-marks.el @@ -70,7 +70,7 @@ This is the same as using \\[set-mark-command] with the prefix argument." (use-package browse-kill-ring :config (browse-kill-ring-default-keybindings) - :if (not ravi/use-helm-instead-of-ido)) + :if (equal ravi/use-selection-system 'ido)) ; to do something for selectrum (provide 'ravi-init-marks) ;;; ravi-init-marks.el ends here diff --git a/lisp/ravi-init-mu.el b/lisp/ravi-init-mu.el index 1b26582..2dd84bd 100644 --- a/lisp/ravi-init-mu.el +++ b/lisp/ravi-init-mu.el @@ -170,7 +170,7 @@ (setq gnus-dired-mail-mode 'mu4e-user-agent) (add-hook 'dired-mode-hook 'turn-on-gnus-dired-mode) - (when ravi/use-helm-instead-of-ido + (when (equal ravi/use-selection-system 'helm) (add-to-list 'helm-find-files-actions '("Attach files for mu4e" . helm-mu4e-attach) t) diff --git a/lisp/ravi-init-python.el b/lisp/ravi-init-python.el index 154cfdc..870a33d 100644 --- a/lisp/ravi-init-python.el +++ b/lisp/ravi-init-python.el @@ -49,8 +49,8 @@ (unless ravi/support-old-ipython (setq python-shell-interpreter-args "--pylab --simple-prompt")) (defun ravi/python-mode-hook() - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("Python 2" "Python 3" "NumPy"))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("Python 2" "Python 3" "NumPy"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("Python 2" "Python 3" "NumPy"))) ;; I'd really prefer indentation by 2 spaces, but have too much existing ;; python code with indentation at 4 spaces. diff --git a/lisp/ravi-init-tex.el b/lisp/ravi-init-tex.el index b8b9b3d..b33c260 100644 --- a/lisp/ravi-init-tex.el +++ b/lisp/ravi-init-tex.el @@ -188,8 +188,8 @@ starting with \\ and followed by a block of text enclosed in {}." (setq TeX-save-query nil) (setq TeX-show-compilation t) - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("LaTeX"))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("LaTeX"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("LaTeX"))) (message "LaTeX mode init complete.")) ;; ACUTeX replaces latex-mode-hook with LaTeX-mode-hook diff --git a/lisp/ravi-init-vc.el b/lisp/ravi-init-vc.el index 543a682..4fcb491 100644 --- a/lisp/ravi-init-vc.el +++ b/lisp/ravi-init-vc.el @@ -48,9 +48,11 @@ (setq-default magit-process-popup-time 10 magit-diff-refine-hunk t - magit-completing-read-function (if ravi/use-helm-instead-of-ido - 'helm--completing-read-default - 'magit-ido-completing-read)) + magit-completing-read-function (pcase ravi/use-selection-system + ('helm #'helm--completing-read-default) + ('ido #'magit-ido-completing-read) + ('selectrum #'selectrum-completing-read) + (_ #'magit-builtin-completing-read))) (setq magit-restore-window-configuration t) (add-hook 'magit-post-refresh-hook 'diff-hl-magit-post-refresh) diff --git a/lisp/ravi-init-web.el b/lisp/ravi-init-web.el index 06b9383..56bf7cd 100644 --- a/lisp/ravi-init-web.el +++ b/lisp/ravi-init-web.el @@ -53,8 +53,8 @@ (defun ravi/js2-mode-hook () (emmet-mode) (setq js2-basic-offset 2) - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("JavaScript" "jQuery" "jQuery UI")))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("JavaScript" "jQuery" "jQuery UI"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("JavaScript" "jQuery" "jQuery UI")))) (add-hook 'js2-mode-hook 'ravi/js2-mode-hook))) ;; Interact with the browser @@ -84,8 +84,8 @@ (sp-local-pair 'web-mode "<" nil :when '(sp-web-mode-is-code-context)) (defun ravi/web-mode-extra-hook () - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("HTML")))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("HTML"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("HTML")))) (add-hook 'web-mode-hook 'ravi/web-mode-extra-hook) ;; Customization @@ -96,8 +96,8 @@ (setq web-mode-enable-part-face t))) (defun ravi/css-mode-extra-hook () - (when (functionp 'helm-dash) - (setq-local dash-docs-docsets '("CSS")))) + (when (functionp 'helm-dash) (setq-local dash-docs-docsets '("CSS"))) + (when (functionp 'ravi/dash) (setq-local ravi/dash-docsets '("CSS")))) (add-hook 'css-mode-hook 'ravi/css-mode-extra-hook) (provide 'ravi-init-web) |
