Emacsの補完スタイル hotfuzzの設定

hotfuzzという補完スタイルを提供するEmacsパッケージがある.

github.com

あいまい入力の補完を助けるので,とても便利である.

さらなる高速化を望むなら,hotfuzzの動的モジュールのソースコードコンパイルしてロードパスの通ったところに置く必要がある. 筆者は ~/.emacs.d/hotfuzz に置いたということ. hotfuzz-max-highlighted-completions はデフォルト値が25だが,あまり大きくする意味もなかったので,一番小さくしておいた.

consultと一緒に用いる場合,consult--tofu-charUnicode範囲外をあえて指定しているのが不具合を引き起こすので(consult-lineなどで), これを "Supplementary Private Use Area-B" の範囲で指定するように変更した.これはhotfuzz公式リポジトリに書かれたTIPSである.

(add-to-list 'load-path "~/.emacs.d/hotfuzz")
(push 'hotfuzz completion-styles)
(setq completion-category-overrides nil)
(setq hotfuzz-max-highlighted-completions 1) ;; 正の整数 大きすぎるのはダメ
(with-eval-after-load 'eglot
  (add-to-list 'completion-category-overrides
               '(eglot (styles hotfuzz basic))))
(with-eval-after-load 'consult
  (setq consult--tofu-char #x100000
        consult--tofu-range #x00fffe))