From 94138a686b0e7acd7b80ef562dc5e0c2d14c4b41 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 10 Apr 2018 06:12:03 -0400 Subject: [PATCH] tools/term: change +term/open-popup* universal-arg behavior + +term/open-popup: opens a term in default-directory. If ARG, opens term in project root. + +term/open-popup-in-project: opens term in project root. If ARG, opens term in default-directory. --- modules/tools/term/autoload.el | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/tools/term/autoload.el b/modules/tools/term/autoload.el index 34ae5a5e1..bb4391650 100644 --- a/modules/tools/term/autoload.el +++ b/modules/tools/term/autoload.el @@ -9,19 +9,21 @@ non-nil, cd into the current project's root." (call-interactively #'multi-term))) ;;;###autoload -(defun +term/open-popup (&optional project-root) - "Open a terminal popup window. If PROJECT-ROOT (C-u) is non-nil, cd into the -current project's root." +(defun +term/open-popup (arg) + "Open a terminal popup window. If ARG (universal argument) is +non-nil, cd into the current project's root." (interactive "P") (require 'multi-term) - (let ((default-directory (if project-root (doom-project-root 'nocache) default-directory)) + (let ((default-directory (if arg (doom-project-root 'nocache) default-directory)) (buffer (multi-term-get-buffer current-prefix-arg))) (pop-to-buffer buffer) (setq multi-term-buffer-list (nconc multi-term-buffer-list (list buffer))) (multi-term-internal))) ;;;###autoload -(defun +term/open-popup-in-project () - "Open a terminal popup window in the root of the current project." - (interactive) - (+term/open-popup t)) +(defun +term/open-popup-in-project (arg) + "Open a terminal popup window in the root of the current project. + +If ARG (universal argument) is non-nil, open it in `default-directory' instead." + (interactive "P") + (+term/open-popup (not arg)))