org-roam / company-org-roam

Company completion backend for Org-roam
GNU General Public License v3.0
57 stars 4 forks source link

company-org-mode--init-hook doesn't seem to respect dir-local org-roam-directory #9

Open telotortium opened 4 years ago

telotortium commented 4 years ago

(Not sure if this is an Emacs issue or an issue with this package, so also posted at https://emacs.stackexchange.com/q/57995/17182).

I'm currently attempting to call the function company-org-roam--init-hook from org-mode-hook in order to enable the company-org-roam backend in org-roam buffers. In some of the files in which this hook is called, I've used a .dir-locals.el file to set org-roam-directory to a non-default value. However, when company-org-roam--init-hook is called while loading the file, it appears that org-roam-directory isn't set to its dir-local value, causing the hook not to enable the Company backend.

Is it expected that dir-local variables are applied only after major-mode hooks are run? If so, is there a way to work around this (besides a run-at-time)?

jethrokuan commented 4 years ago

Sorry for the late reply. I initially thought adding the hook would make installation easier, but I think it's best that the backend is added manually to company-backends. The company backend uses the buffer value of org-roam-directory, so it should handle dir-local org-roam-directories by default. I'll probably remove that piece of code.