From 3fcbdae4415e6571bc743fe33a6f5642e43be39a Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 20 Sep 2017 01:33:25 +0200 Subject: [PATCH] Make doom-project-{p,root} functions simpler + doom-project-root and doom-project-p no longer takes arguments + Remove doom*project-root advice --- core/autoload/buffers.el | 2 +- core/core-projects.el | 15 +++++---------- modules/lang/javascript/config.el | 2 +- modules/lang/typescript/config.el | 7 +++---- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/core/autoload/buffers.el b/core/autoload/buffers.el index 2ce241650..4b4b70bca 100644 --- a/core/autoload/buffers.el +++ b/core/autoload/buffers.el @@ -53,7 +53,7 @@ Inspired from http://demonastery.org/2013/04/emacs-evil-narrow-region/" If no project is active, return all buffers." (let ((buffers (doom-buffer-list))) - (if-let (project-root (doom-project-root t)) + (if-let (project-root (if (doom-project-p) (doom-project-root))) (cl-loop for buf in buffers if (projectile-project-buffer-p buf project-root) collect buf) diff --git a/core/core-projects.el b/core/core-projects.el index 69e0f050b..5883df261 100644 --- a/core/core-projects.el +++ b/core/core-projects.el @@ -63,22 +63,17 @@ state are passed in.") (dolist (fn projectile-project-root-files-functions) (remhash (format "%s-%s" fn default-directory) projectile-project-root-cache))) -(defun doom-project-p (&optional strict-p) +(defun doom-project-p () "Whether or not this buffer is currently in a project or not." - (let ((projectile-require-project-root strict-p)) + (let ((projectile-require-project-root t)) (projectile-project-p))) -(defun doom-project-root (&optional strict-p) +(defun doom-project-root () "Get the path to the root of your project. If STRICT-P, return nil if no project was found, otherwise return `default-directory'." - (let ((projectile-require-project-root strict-p)) - (ignore-errors (projectile-project-root)))) - -(defun doom*project-root (&rest _) - "An advice function used to replace project-root-detection functions in other -libraries." - (doom-project-root)) + (let (projectile-require-project-root) + (projectile-project-root))) (defmacro doom-project-has! (files) "Checks if the project has the specified FILES, relative to the project root, diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 47972d434..731c97ed8 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -88,7 +88,7 @@ :commands tern-mode :init (add-hook 'js2-mode-hook #'tern-mode) :config - (advice-add #'tern-project-dir :override #'doom*project-root)) + (advice-add #'tern-project-dir :override #'doom-project-root)) (def-package! company-tern diff --git a/modules/lang/typescript/config.el b/modules/lang/typescript/config.el index 9ee2f38db..f140479cc 100644 --- a/modules/lang/typescript/config.el +++ b/modules/lang/typescript/config.el @@ -41,8 +41,7 @@ (equal (file-name-extension buffer-file-name) "tsx"))) (tide-setup) (flycheck-mode +1) - (eldoc-mode +1))) - (add-hook! (typescript-mode web-mode) #'+typescript|init-tide) - - (advice-add #'tide-project-root :override #'doom*project-root)) + (eldoc-mode +1) + (setq tide-project-root (doom-project-root)))) + (add-hook! (typescript-mode web-mode) #'+typescript|init-tide))