Ink

Contents related to tech, hobby, etc

org roam標準で補完が効く条件

|

org roam標準で補完が効く条件

info:org-roam#Completionにあるように、 org-roamは標準で補完機能を持っています。

が、自分の環境では上手く動かなかったので原因を探った際のメモ。

Tl;Dr:

デフォルトでは、help:org-roam-db-autosync-mode を有効にした状態で、 ファイルからバッファーを読み込んだ際に有効化される。

help:org-roam-completion-everywhere ですらこの条件が必要 なので注意。

詳しく

org-roamが提供する補完機能の概要

org-roamは、help:completion-at-point を用いた補完機能を提供しています。 又、company-modeも別途対応している模様です。

実際の仕組み

そもそものcompletion-at-pointの仕組みについては割愛しますが 簡単に必要なことだけを書くと、補完に使用する関数を completion-at-point-functions 変数から取得して補完を行います。

なので、 completion-at-point を使用した補完の際は、その変数をいじっている所を探しにいけば良いということになります。 org-roamでもこの completion-at-point-functions に関数を追加しています。

手動で設定する方法

db-syncはしなくていいけど補完は使えるようになってほしい、という場合 help:org-roam--register-completion-functions-h を手動で実行すれば良いです。

(org-roam--register-completion-functions-h)