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 --- attic/counsel.org | 61 -------------------------------------------- completion.org | 76 +++++++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 63 insertions(+), 74 deletions(-) diff --git a/attic/counsel.org b/attic/counsel.org index a2147b5..f6814ae 100644 --- a/attic/counsel.org +++ b/attic/counsel.org @@ -1,66 +1,5 @@ #+title: Completion configuration using ivy, counsel 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 - - ("" . #'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) - - ;; (use-package company-math :ensure t :after company) - - ;; (global-company-mode 1) - - #+end_src - * selectrum #+begin_src emacs-lisp :load no (use-package selectrum 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