2017-06-08 11:47:56 +02:00
|
|
|
;;; tools/term/autoload.el -*- lexical-binding: t; -*-
|
2017-04-11 19:03:34 -04:00
|
|
|
|
|
|
|
;;;###autoload
|
2017-09-27 14:49:19 +02:00
|
|
|
(defun +term/open (&optional project-root)
|
2017-05-15 14:08:04 +02:00
|
|
|
"Open a terminal buffer in the current window. If PROJECT-ROOT (C-u) is
|
|
|
|
non-nil, cd into the current project's root."
|
|
|
|
(interactive "P")
|
2018-03-18 02:39:09 -04:00
|
|
|
(let ((default-directory (if project-root (doom-project-root 'nocache) default-directory)))
|
2017-06-08 11:47:56 +02:00
|
|
|
(call-interactively #'multi-term)))
|
2017-04-11 19:03:34 -04:00
|
|
|
|
|
|
|
;;;###autoload
|
2018-04-10 06:12:03 -04:00
|
|
|
(defun +term/open-popup (arg)
|
|
|
|
"Open a terminal popup window. If ARG (universal argument) is
|
|
|
|
non-nil, cd into the current project's root."
|
2017-05-15 14:08:04 +02:00
|
|
|
(interactive "P")
|
2017-04-11 19:03:34 -04:00
|
|
|
(require 'multi-term)
|
2018-04-10 06:12:03 -04:00
|
|
|
(let ((default-directory (if arg (doom-project-root 'nocache) default-directory))
|
2017-06-08 11:47:56 +02:00
|
|
|
(buffer (multi-term-get-buffer current-prefix-arg)))
|
2018-01-06 03:27:23 -05:00
|
|
|
(pop-to-buffer buffer)
|
2017-04-11 19:03:34 -04:00
|
|
|
(setq multi-term-buffer-list (nconc multi-term-buffer-list (list buffer)))
|
|
|
|
(multi-term-internal)))
|
2017-05-15 14:08:04 +02:00
|
|
|
|
|
|
|
;;;###autoload
|
2018-04-10 06:12:03 -04:00
|
|
|
(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)))
|