From 3d6a8ed794357e9764fe7281c2070601be6daae0 Mon Sep 17 00:00:00 2001 From: jao Date: Sat, 17 Apr 2021 04:01:45 +0100 Subject: the popup keeps me company --- completion.org | 76 ++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 63 insertions(+), 13 deletions(-) (limited to 'completion.org') diff --git a/completion.org b/completion.org index dc8e959..38377c3 100644 --- a/completion.org +++ b/completion.org @@ -1,20 +1,71 @@ #+title: Completion configuration using vertico, consult and friends +* completion styles + #+begin_src emacs-lisp + (use-package emacs + :init (setq completion-styles '(basic emacs22 initials) + completion-category-defaults nil + completion-cycle-threshold 3 + completion-category-overrides + '((file (styles . (partial-completion))) ; path expansion on / + (recoll-result . (partial-completion emacs22 initials))))) + #+end_src * orderless #+begin_src emacs-lisp (use-package orderless :ensure t :init - (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 + (setq orderless-skip-highlighting t orderless-component-separator "[ -/]+" orderless-matching-styles '(orderless-literal orderless-regexp orderless-initialism))) #+end_src +* company + #+begin_src emacs-lisp + (use-package company + :ensure t + :custom ((company-backends '(company-capf + company-bbdb + company-files + company-keywords)) + (company-idle-delay 0.2) + (company-lighter "") + (company-lighter-base "") + (company-show-numbers nil) + (company-selection-wrap-around t) + (company-tooltip-limit 15) + (company-tooltip-align-annotations t) + (company-tooltip-offset-display 'lines)) ;; 'scrollbar + + :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) + :map company-active-map + + ("" . #'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)) + ("" . #'company-complete-selection) + ("RET" . #'company-complete-selection)) + + :bind* (("M-TAB" . #'jao-complete-at-point)) + + :diminish) + + (global-company-mode 1) + + #+end_src * corfu #+begin_src emacs-lisp (jao-load-path "corfu") @@ -22,7 +73,6 @@ :init (setq tab-always-indent 'complete completion-styles '(orderless) - completion-cycle-threshold 3 corfu-cycle t) ;; Optionally use TAB for cycling, default is `corfu-complete'. @@ -30,12 +80,12 @@ ;; ("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) - (lisp-interaction-mode . corfu-mode))) + ;; :hook ((eshell-mode . corfu-mode) + ;; (haskell-interactive-mode . corfu-mode) + ;; (message-mode . corfu-mode) + ;; (prog-mode . corfu-mode) + ;; (lisp-interaction-mode . corfu-mode)) + ) #+end_src * vertico #+begin_src emacs-lisp @@ -43,9 +93,9 @@ :ensure t :init (setq vertico-count 20) :config - ;; (advice-add 'vertico--setup :before #'jao--be-orderless) (defun jao--be-orderless (&rest _any) (setq-local completion-styles '(orderless))) + (advice-add 'vertico--setup :before #'jao--be-orderless) (vertico-mode)) #+end_src * marginalia -- cgit v1.2.3