From b650fde62cdef9adb55db636ce16aa2120277d55 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Sat, 16 Sep 2023 16:37:35 +0200 Subject: Emacs: replace company-tabnine with tabnine --- user/emacs/init.el | 22 ++++++++++++++++++---- user/modules/tabnine.nix | 6 +++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/user/emacs/init.el b/user/emacs/init.el index a90973c1..9317968a 100644 --- a/user/emacs/init.el +++ b/user/emacs/init.el @@ -558,12 +558,26 @@ _p_rev _u_pper _=_: upper/lower _r_esolve (setq company-shell-clean-manpage t) (add-to-list 'company-backends '(company-shell company-shell-env)))) -(use-package company-tabnine +(use-package tabnine :after (company) - :config (setq company-tabnine-binaries-folder "~/.local/tabnine") + :config (progn + (delq 'company-preview-if-just-one-frontend company-frontends) + (setq tabnine-binaries-folder "~/.local/tabnine") + (global-tabnine-mode) + + (define-key tabnine-completion-map (kbd "TAB") #'tabnine-accept-completion) + (define-key tabnine-completion-map (kbd "") #'tabnine-accept-completion) + + (define-key tabnine-completion-map (kbd "M-f") #'tabnine-accept-completion-by-word) + (define-key tabnine-completion-map (kbd "M-") #'tabnine-accept-completion-by-line) + + (define-key tabnine-completion-map (kbd "C-g") #'tabnine-clear-overlay) + (define-key tabnine-completion-map (kbd "M-[") #'tabnine-next-completion) + (define-key tabnine-completion-map (kbd "M-]") #'tabnine-previous-completion)) :init (progn - (advice-add 'company-tabnine-start-process :around #'quiet) - (add-to-list 'company-backends #'company-tabnine))) + (advice-add 'tabnine-start-process :around #'quiet) + + (add-hook 'kill-emacs-hook #'tabnine-kill-process))) ;;; Documentation diff --git a/user/modules/tabnine.nix b/user/modules/tabnine.nix index e4b80ad9..a702cf29 100644 --- a/user/modules/tabnine.nix +++ b/user/modules/tabnine.nix @@ -81,11 +81,11 @@ in }; programs.emacs.extraPackages = epkgs: [ - epkgs.company-tabnine + epkgs.tabnine ]; programs.emacs.extraConfig = '' - (with-eval-after-load 'company-tabnine - (advice-add 'company-tabnine--executable-path :around + (with-eval-after-load 'tabnine + (advice-add 'tabnine--executable-path :around (lambda (original-function &rest args) "${pkgs.tabnine}/bin/TabNine"))) ''; -- cgit 1.4.1