Switch from company to corfu for completion
It's better integrated into existing components of Emacs, and I'm rather a fan of the orderless completion style.
This commit is contained in:
parent
f3988cb9bd
commit
9f0fa37d4c
51
config.org
51
config.org
|
@ -1554,9 +1554,8 @@ I reckon enabling half the modules Doom provides should do it.
|
||||||
|
|
||||||
#+name: doom-completion
|
#+name: doom-completion
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(company ; the ultimate code completion backend
|
;; company ; the ultimate code completion backend
|
||||||
+childframe) ; ... when your children are better than you
|
(corfu +orderless +dabbrev) ; complete with cap(f), cape and a flying feather!
|
||||||
;;(corfu +orderless) ; complete with cap(f), cape and a flying feather!
|
|
||||||
;;helm ; the *other* search engine for love and life
|
;;helm ; the *other* search engine for love and life
|
||||||
;;ido ; the other *other* search engine...
|
;;ido ; the other *other* search engine...
|
||||||
;; (ivy ; a search engine for love and life
|
;; (ivy ; a search engine for love and life
|
||||||
|
@ -3917,54 +3916,18 @@ For repeated operations, a hydra would be helpful. But I prefer transient.
|
||||||
("k" "kill current" (lambda () (interactive) (ignore-errors (smerge-kill-current)) (smerge-repeatedly)))
|
("k" "kill current" (lambda () (interactive) (ignore-errors (smerge-kill-current)) (smerge-repeatedly)))
|
||||||
("q" "quit" (lambda () (interactive) (smerge-auto-leave)))]]))
|
("q" "quit" (lambda () (interactive) (smerge-auto-leave)))]]))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
*** Corfu
|
||||||
|
|
||||||
*** Company
|
#+call: confpkg("!Pkg Corfu", after="corfu")
|
||||||
|
|
||||||
#+call: confpkg("!Pkg Company")
|
|
||||||
|
|
||||||
#+begin_quote
|
#+begin_quote
|
||||||
From the =:completion company= module.
|
From the =:completion corfu= module.
|
||||||
#+end_quote
|
#+end_quote
|
||||||
|
|
||||||
It's nice to have completions almost all the time, in my opinion. Key strokes
|
I like completion, but I don't like to feel spammed by it, so let's up the delay.
|
||||||
are just waiting to be saved!
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(after! company
|
(setq corfu-auto-delay 0.5)
|
||||||
(setq company-idle-delay 0.5
|
|
||||||
company-minimum-prefix-length 2)
|
|
||||||
(setq company-show-numbers t)
|
|
||||||
(add-hook 'evil-normal-state-entry-hook #'company-abort)) ;; make aborting less annoying.
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Now, the improvements from ~precedent~ are mostly from remembering history, so
|
|
||||||
let's improve that memory.
|
|
||||||
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(setq-default history-length 1000)
|
|
||||||
(setq-default prescient-history-length 1000)
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
**** Plain Text
|
|
||||||
|
|
||||||
~Ispell~ is nice, let's have it in ~text~, ~markdown~, and ~GFM~.
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(set-company-backend!
|
|
||||||
'(text-mode
|
|
||||||
markdown-mode
|
|
||||||
gfm-mode)
|
|
||||||
'(:seperate
|
|
||||||
company-ispell
|
|
||||||
company-files
|
|
||||||
company-yasnippet))
|
|
||||||
#+end_src
|
|
||||||
We then configure the dictionary we're using in [[*Ispell][Ispell]].
|
|
||||||
|
|
||||||
**** ESS
|
|
||||||
|
|
||||||
~company-dabbrev-code~ is nice. Let's have it.
|
|
||||||
#+begin_src emacs-lisp
|
|
||||||
(set-company-backend! 'ess-r-mode '(company-R-args company-R-objects company-dabbrev-code :separate))
|
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Projectile
|
*** Projectile
|
||||||
|
|
Loading…
Reference in New Issue