summaryrefslogtreecommitdiffhomepage
path: root/completion.org
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2021-04-15 22:38:05 +0100
committerjao <jao@gnu.org>2021-04-15 22:38:05 +0100
commit3c6e40cfe291558a5d041201d65dd1fef58d7a82 (patch)
tree2a0ca665cbf466fa36a80923a479375dddc9dd85 /completion.org
parent38646b8a1f9f5c4ce9d8554f66b272f2d08a4e18 (diff)
downloadelibs-3c6e40cfe291558a5d041201d65dd1fef58d7a82.tar.gz
elibs-3c6e40cfe291558a5d041201d65dd1fef58d7a82.tar.bz2
my family and other animals
Diffstat (limited to 'completion.org')
-rw-r--r--completion.org96
1 files changed, 27 insertions, 69 deletions
diff --git a/completion.org b/completion.org
index 600243e..db042c0 100644
--- a/completion.org
+++ b/completion.org
@@ -1,92 +1,50 @@
#+title: Completion configuration using vertico, consult and friends
-* company
- #+begin_src emacs-lisp
- (use-package company
- :ensure t
- :custom
- ((company-global-modes '(clojure-mode
- clojurec-mode
- emacs-lisp-mode
- eshell-mode
- haskell-mode
- haskell-interactive-mode
- idris-mode
- lisp-interaction-mode
- message-mode
- org-mode
- pie-mode
- scheme-mode))
- (company-idle-delay 0.15)
- (company-lighter "")
- (company-lighter-base "")
- (company-show-numbers nil)
- (company-tooltip-limit 15)
- (company-tooltip-align-annotations t)
- (company-transformers '(company-sort-by-occurrence)))
-
- :config
-
- (defun jao-complete-at-point ()
- "Complete using company unless we're in the minibuffer."
- (interactive)
- (if (window-minibuffer-p) (completion-at-point) (company-manual-begin)))
-
- :bind (([remap completion-at-point] . #'jao-complete-at-point)
- ([remap complete-symbol] . #'jao-complete-at-point)
-
- ;; The following are keybindings that take effect whenever
- ;; the completions menu is visible, even if the user has not
- ;; explicitly interacted with Company.
- :map company-active-map
-
- ("<tab>" . #'company-complete-common-or-cycle)
- ("TAB" . #'company-complete-common-or-cycle)
-
- ("C-h" . #'company-show-doc-buffer)
- ("M-." . #'company-show-location)
-
- :filter (or (not (derived-mode-p 'eshell-mode))
- (company-explicit-action-p))
- ("<return>" . #'company-complete-selection)
- ("RET" . #'company-complete-selection))
-
- :bind* (("M-TAB" . #'jao-complete-at-point))
-
- :diminish)
-
- (use-package company-math :ensure t :after company)
-
- (global-company-mode 1)
-
- #+end_src
-
* orderless
#+begin_src emacs-lisp
(use-package orderless
:ensure t
:init
- (setq completion--styles '(partial-completion emacs22 initials)
- completion-category-defaults nil
+ (setq completion-category-defaults nil
completion-category-overrides
'((file (styles . (partial-completion))) ; path expansion on /
(recoll-result . (partial-completion emacs22 initials)))
orderless-skip-highlighting t
orderless-component-separator "[ -/]+"
orderless-matching-styles
- '(orderless-literal orderless-regexp orderless-initialism))
-
- (defun jao--be-orderless (&rest _any)
- (setq-local completion-styles '(orderless)))
+ '(orderless-literal orderless-regexp orderless-initialism)))
+ #+end_src
- (add-hook 'minibuffer-setup-hook #'jao--be-orderless))
+* corfu
+ #+begin_src emacs-lisp
+ (jao-load-path "corfu")
+ (use-package corfu
+ :init
+ (setq tab-always-indent 'complete
+ completion-styles '(orderless)
+ corfu-cycle t)
+
+ ;; Optionally use TAB for cycling, default is `corfu-complete'.
+ :bind (:map corfu-map
+ ("TAB" . corfu-next)
+ ("S-TAB" . corfu-previous))
+
+ :hook ((eshell-mode . corfu-mode)
+ (haskell-interactive-mode . corfu-mode)
+ (message-mode . corfu-mode)
+ (org-mode . corfu-mode)
+ (prog-mode . corfu-mode)))
#+end_src
* vertico
#+begin_src emacs-lisp
(use-package vertico
:ensure t
:init (setq vertico-count 20)
- :config (vertico-mode))
+ :config
+ ;; (advice-add 'vertico--setup :before #'jao--be-orderless)
+ (defun jao--be-orderless (&rest _any)
+ (setq-local completion-styles '(orderless)))
+ (vertico-mode))
#+end_src
* marginalia
#+begin_src emacs-lisp