From 0183c3684388e8d9d68adf04b5deceef2de45b67 Mon Sep 17 00:00:00 2001 From: Vincent Ambo Date: Sun, 27 Oct 2024 15:04:58 +0300 Subject: 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 Autosubmit: tazjin --- users/tazjin/emacs/config/init.el | 12 ++++++++++++ users/tazjin/emacs/default.nix | 11 +++-------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/users/tazjin/emacs/config/init.el b/users/tazjin/emacs/config/init.el index a5b0e933d56f..89aefdca4750 100644 --- a/users/tazjin/emacs/config/init.el +++ b/users/tazjin/emacs/config/init.el @@ -29,6 +29,10 @@ (use-package browse-kill-ring) +(use-package company + :config + (global-company-mode)) + (use-package consult :bind ("C-c r g" . consult-ripgrep) @@ -68,6 +72,14 @@ (prescient-persist-mode) (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-mode) (use-package s) diff --git a/users/tazjin/emacs/default.nix b/users/tazjin/emacs/default.nix index 80a922043277..b07ca2927f44 100644 --- a/users/tazjin/emacs/default.nix +++ b/users/tazjin/emacs/default.nix @@ -53,13 +53,14 @@ pkgs.makeOverridable browse-kill-ring cargo clojure-mode + company + company-prescient consult deft direnv elixir-mode elm-mode erlang - depotExwm go-mode google-c-style gruber-darker-theme @@ -93,6 +94,7 @@ pkgs.makeOverridable undo-tree uuidgen vertico + vertico-prescient vterm web-mode websocket @@ -102,11 +104,6 @@ pkgs.makeOverridable zetteldeft zoxide - # experimental (not otherwise embedded in config yet) - orderless - corfu - eat - # Wonky stuff (currentTelega epkgs) 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 # CI. - # - # TODO(tazjin): uncomment when telega works again inherit tdlibCheck; meta.ci.targets = [ "tdlibCheck" ]; }; -- cgit 1.4.1