diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index d28214e9a..1e4f20dff 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -86,7 +86,14 @@ (def-package! company-dict - :commands company-dict) + :commands company-dict + :config + ;; Project-specific dictionaries + (defun +company|enable-project-dicts (mode &rest _) + (if (symbol-value mode) + (push mode company-dict-minor-mode-list) + (setq company-dict-minor-mode-list (delq mode company-dict-minor-mode-list)))) + (add-hook 'doom-project-hook '+company|enable-project-dicts)) ;; diff --git a/modules/feature/snippets/config.el b/modules/feature/snippets/config.el index 35ae0562d..d2eb3b4fc 100644 --- a/modules/feature/snippets/config.el +++ b/modules/feature/snippets/config.el @@ -25,6 +25,14 @@ yas-prompt-functions '(yas-completing-prompt yas-ido-prompt yas-no-prompt) yas-snippet-dirs '(yas-installed-snippets-dir)) + ;; Allows project-specific snippets + (defun +snippets|enable-project-modes (mode &rest _) + "Enable snippets for project modes." + (if (symbol-value mode) + (yas-activate-extra-mode mode) + (yas-deactivate-extra-mode mode))) + (add-hook 'doom-project-hook '+snippets|enable-project-modes) + ;; fix an error caused by smartparens interfering with yasnippet bindings (advice-add 'yas-expand :before 'sp-remove-active-pair-overlay)