On Thu, May 4, 2023 at 11:40 PM Hongyi Zhao <hongyi.z...@gmail.com> wrote: > > On Thu, May 4, 2023 at 10:54 PM Hongyi Zhao <hongyi.z...@gmail.com> wrote: > > > > On Tue, May 2, 2023 at 1:30 PM Arash Esbati <ar...@gnu.org> wrote: > > > > > > Hongyi Zhao <hongyi.z...@gmail.com> writes: > > > > > > > My current configuration: > > > > > > > > (use-package company-math > > > > :hook > > > > ;; This will enable the company-math backend for LaTeX mode > > > > (LaTeX-mode . (lambda () > > > > (setq-local company-backends > > > > (append '((company-math-symbols-latex > > > > company-latex-commands)) > > > > company-backends)))) > > > > ) > > > > > > > > See the attached file for the results returned using your example. > > > > > > I think you need none of company-math-symbols-latex and > > > company-latex-commands, AUCTeX offers already a Capf for both of them, > > > so comment out that part and start company without any additions in your > > > .tex file. > > > > > > > What's your corfu configuration? > > > > > > (setq tab-always-indent 'complete) > > > (setq corfu-auto t) > > > (global-corfu-mode) > > > > Now, I've disabled all the company-mode related configuration and try > > switching to corfu as follows: > > > > ;; https://github.com/minad/corfu#installation-and-configuration > > (use-package corfu > > ;; Optional customizations > > ;; :custom > > I should have also uncommented the above line. But even so, I have the > following problems: > > 1. I must at least type 3 letters to trigger the completion. > 2. Furthermore, my completion candidates list entries are less than > yours, as shown in the attached screenshot.
Another problem I noticed: 3. The speed of triggering the candidate list for the first time is very slow, while company-mode does not seem to have this problem. > > ;; (corfu-cycle t) ;; Enable cycling for > > `corfu-next/previous' > > (corfu-auto t) ;; Enable auto completion > > ;; (corfu-separator ?\s) ;; Orderless field separator > > ;; (corfu-quit-at-boundary nil) ;; Never quit at completion boundary > > ;; (corfu-quit-no-match nil) ;; Never quit, even if there is no match > > ;; (corfu-preview-current nil) ;; Disable current candidate preview > > ;; (corfu-preselect 'prompt) ;; Preselect the prompt > > ;; (corfu-on-exact-match nil) ;; Configure handling of exact matches > > ;; (corfu-scroll-margin 5) ;; Use scroll margin > > > > ;; Enable Corfu only for certain modes. > > ;; :hook ((prog-mode . corfu-mode) > > ;; (shell-mode . corfu-mode) > > ;; (eshell-mode . corfu-mode)) > > > > ;; Recommended: Enable Corfu globally. > > ;; This is recommended since Dabbrev can be used globally (M-/). > > ;; See also `corfu-exclude-modes'. > > :init > > (global-corfu-mode)) > > > > ;; A few more useful configurations... > > (use-package emacs > > :init > > ;; TAB cycle if there are only few candidates > > (setq completion-cycle-threshold 3) > > > > ;; Emacs 28: Hide commands in M-x which do not apply to the current mode. > > ;; Corfu commands are hidden, since they are not supposed to be used via > > M-x. > > ;; (setq read-extended-command-predicate > > ;; #'command-completion-default-include-p) > > > > ;; Enable indentation+completion using the TAB key. > > ;; `completion-at-point' is often bound to M-TAB. > > (setq tab-always-indent 'complete)) > > > > > > But I cannot get any completion effect provided by corfu, as shown in > > the attached screenshot. > > > > > Best, Arash > > > > Regards, Zhao