fix(tazjin/emacs): fix completion related problems

A while ago I decided to experiment with corfu and orderless instead of
company/prescient. This was prompted by issues which I had in EXWM, where some
sort of UI race with company elements could lock up a whole frame.

Now that I'm not on EXWM anymore this doesn't really matter, so I can bring back
company and set up prescient again correctly, fixing a whole bunch of issues
along the way:

* Completion issues where not all matching candidates where shown based on
  cursor position (I honestly have no idea what caused this and what was going
  on there, never figured it out, but enabling prescient properly fixes it).

* Code completion works again. Corfu, as I understand it, is technically
  better/cleaner/whatever than company - but it doesn't work anywhere,
  especially not in telega.el where I need completion more than anywhere else.

With this commit my Emacs behaves a lot better again.

Change-Id: I8f082de8211dd3be3bb7a0663d43d414cc320e49
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12690
Tested-by: BuildkiteCI
Reviewed-by: tazjin <tazjin@tvl.su>
Autosubmit: tazjin <tazjin@tvl.su>
This commit is contained in:
Vincent Ambo 2024-10-27 15:04:58 +03:00 committed by clbot
parent 3695f57d84
commit 0183c36843
2 changed files with 15 additions and 8 deletions

View file

@ -29,6 +29,10 @@
(use-package browse-kill-ring) (use-package browse-kill-ring)
(use-package company
:config
(global-company-mode))
(use-package consult (use-package consult
:bind :bind
("C-c r g" . consult-ripgrep) ("C-c r g" . consult-ripgrep)
@ -68,6 +72,14 @@
(prescient-persist-mode) (prescient-persist-mode)
(setq completion-styles '(basic prescient))) (setq completion-styles '(basic prescient)))
(use-package vertico-prescient
:config
(vertico-prescient-mode))
(use-package company-prescient
:config
(company-prescient-mode))
(use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode)) (use-package rainbow-delimiters :hook (prog-mode . rainbow-delimiters-mode))
(use-package rainbow-mode) (use-package rainbow-mode)
(use-package s) (use-package s)

View file

@ -53,13 +53,14 @@ pkgs.makeOverridable
browse-kill-ring browse-kill-ring
cargo cargo
clojure-mode clojure-mode
company
company-prescient
consult consult
deft deft
direnv direnv
elixir-mode elixir-mode
elm-mode elm-mode
erlang erlang
depotExwm
go-mode go-mode
google-c-style google-c-style
gruber-darker-theme gruber-darker-theme
@ -93,6 +94,7 @@ pkgs.makeOverridable
undo-tree undo-tree
uuidgen uuidgen
vertico vertico
vertico-prescient
vterm vterm
web-mode web-mode
websocket websocket
@ -102,11 +104,6 @@ pkgs.makeOverridable
zetteldeft zetteldeft
zoxide zoxide
# experimental (not otherwise embedded in config yet)
orderless
corfu
eat
# Wonky stuff # Wonky stuff
(currentTelega epkgs) (currentTelega epkgs)
customTreesitGrammars # TODO(tazjin): how is this *supposed* to work?! customTreesitGrammars # TODO(tazjin): how is this *supposed* to work?!
@ -179,8 +176,6 @@ pkgs.makeOverridable
# Expose telega/tdlib version check as a target that is built in # Expose telega/tdlib version check as a target that is built in
# CI. # CI.
#
# TODO(tazjin): uncomment when telega works again
inherit tdlibCheck; inherit tdlibCheck;
meta.ci.targets = [ "tdlibCheck" ]; meta.ci.targets = [ "tdlibCheck" ];
}; };