Emacs 29.1.90 III
Meine M-x emacs-init-time
liegt mittlerweile nochmal ein bisschen
niedriger, bei 2 Sekunden.
In den letzten Tagen vor allem an den completion-at-point-functions
geschraubt. Bei einem der letzten Updates setzte irgendetwas bei
Company aus. Ich kann es leider nicht nachvollziehen.
Eine lebhafte Diskussion auf emacs-devel
vergangene Woche lenkte
jedenfalls meine Aufmerksamkeit auf die Alternative Corfu mit Cape. Es
wurde vorgeschlagen, Company in Emacs zu integrieren, und Corfu wurde
als bessere Lösung hingestellt. Das kann ich nach einem ersten Test
durchaus bestätigen. Darüber hinaus habe ich ich mir aber auch die
Completion bei AUCTeX endlich mal näher angesehen.
Derzeit läuft bei mir diese Lösung sehr schön:
(use-package corfu
:init
(global-corfu-mode)
:config
(setq corfu-auto t)
(setq corfu-auto-prefix 4)
(setq completion-styles '(basic))
)
(use-package cape
:init
(add-to-list 'completion-at-point-functions #'cape-dabbrev)
(add-to-list 'completion-at-point-functions #'cape-tex)
(add-to-list 'completion-at-point-functions #'cape-elisp-block)
(add-to-list 'completion-at-point-functions #'TeX--completion-at-point)
)
(use-package tex
:ensure auctex
:defer nil
:config
(setq TeX-parse-self t) ;; parse on load
(setq TeX-auto-save t) ;; parse on save
(setq-default TeX-master t)
(setq TeX-auto-untabify t)
(setq-default TeX-engine 'luatex)
(setq TeX-electric-escape t)
(setq TeX-insert-braces t)
(setq LaTeX-electric-left-right-brace t)
)
(use-package reftex
:config
(add-hook 'LaTeX-mode-hook 'turn-on-reftex)
(add-hook 'latex-mode-hook 'turn-on-reftex)
)
Bin mir noch nicht sicher, ob ich auf cape-tex
ganz verzichten kann,
wenn ich TeX--completion-at-point
reinnehme. Geklärt ist nur, dass
diese Funktion bei Cape konfiguriert werden muss, und zwar als letzte
in der Liste. Sie wird erst zusammen mit AUCTeX geladen und steht erst
bereit, nachdem mindestens ein (La)TeX-Buffer geöffnet wurde.
Ansonsten gibt es eine Fehlermeldung, und Corfu/Cape funktionieren gar
nicht mehr.
Für die Completion im Mini-Buffer nutze ich weiterhin Ivy mit Swiper und Counsel. Im Buffer zum Schreiben jetzt: Corfu mit Cape.
Schön auch zu sehen, dass die Entwicklung solcher Ergänzungen mittlerweile bei Emacs ein Tempo angenommen hat, das so groß ist, dass selbst das EmacsWiki und teilweise auch der StackExchange nicht mehr mitkommen.