summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--init.el19
-rw-r--r--lisp/ravi-ergodox-mode.el18
-rw-r--r--lisp/ravi-init-appearance.el2
-rw-r--r--lisp/ravi-init-cpp.el10
-rw-r--r--lisp/ravi-init-files.el4
-rw-r--r--lisp/ravi-init-helm.el3
-rw-r--r--lisp/ravi-init-ido.el4
-rw-r--r--lisp/ravi-init-lsp.el4
-rw-r--r--lisp/ravi-init-marks.el2
-rw-r--r--lisp/ravi-init-mu.el2
-rw-r--r--lisp/ravi-init-python.el4
-rw-r--r--lisp/ravi-init-tex.el4
-rw-r--r--lisp/ravi-init-vc.el8
-rw-r--r--lisp/ravi-init-web.el12
14 files changed, 54 insertions, 42 deletions
diff --git a/init.el b/init.el
index d76cf6d..2ca3fcd 100644
--- a/init.el
+++ b/init.el
@@ -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)