branch: externals/detached commit 3dc3651e98fe2f155ec2d505abef90ed24fdbf09 Author: Niklas Eklund <niklas.ekl...@posteo.net> Commit: Niklas Eklund <niklas.ekl...@posteo.net>
Add session working directory function --- README.md | 4 ++-- detached-compile.el | 2 +- detached-list.el | 4 ++-- detached.el | 16 ++++++++++------ 4 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4937bd615b..9cff19e1c9 100644 --- a/README.md +++ b/README.md @@ -287,12 +287,12 @@ With `detached` there exist the possibility to use callback. This functionality `(,@detached-shell-command-session-action :callback (lambda (session1) (when (eq 'success (detached-session-status session1)) - (let ((default-directory (detached--session-working-directory session1)) + (let ((default-directory (detached-session-working-directory session1)) (detached-session-action `(,@detached-shell-command-session-action :callback (lambda (session2) (when (eq 'success (detached-session-status session2)) - (let ((default-directory (detached--session-working-directory session2))) + (let ((default-directory (detached-session-working-directory session2))) (detached-start-session "ls -la" t))))))) (detached-start-session "ls" t))))))) (detached-start-session "sleep 1" t)) diff --git a/detached-compile.el b/detached-compile.el index 000d4d0021..5ec663fff2 100644 --- a/detached-compile.el +++ b/detached-compile.el @@ -97,7 +97,7 @@ Optionally EDIT-COMMAND." (defun detached-compile--start (_) "Run in `compilation-start-hook' if `detached-enabled'." (when detached-enabled - (setq-local default-directory (detached--session-working-directory detached-current-session)) + (setq-local default-directory (detached-session-working-directory detached-current-session)) (setq detached-buffer-session detached-current-session) (setq compile-command (detached-session-command detached-current-session)) (setq compilation-arguments nil) diff --git a/detached-list.el b/detached-list.el index 309671a22e..a89a646032 100644 --- a/detached-list.el +++ b/detached-list.el @@ -403,7 +403,7 @@ Optionally TOGGLE-SUPPRESS-OUTPUT." (list (if current-prefix-arg (regexp-quote - (detached--session-working-directory + (detached-session-working-directory (detached--get-session major-mode))) (read-regexp "Filter session working directories containing (regexp): ")))) @@ -414,7 +414,7 @@ Optionally TOGGLE-SUPPRESS-OUTPUT." ,(lambda (sessions) (seq-filter (lambda (it) (string-match regexp - (detached--session-working-directory it))) + (detached-session-working-directory it))) sessions))))))) (defun detached-list-narrow-session-directory (session-directory) diff --git a/detached.el b/detached.el index c09c4ff134..cf3b3857c1 100644 --- a/detached.el +++ b/detached.el @@ -454,7 +454,7 @@ The session is compiled by opening its output and enabling (erase-buffer) (insert (detached-session-output session)) (setq-local default-directory - (detached--session-working-directory session)) + (detached-session-working-directory session)) (run-hooks 'detached-compile-session-hooks) (detached-log-mode) (compilation-minor-mode) @@ -475,7 +475,7 @@ The session is compiled by opening its output and enabling (when (detached-valid-session session) (let* ((detached-local-session (detached--session-local session)) (default-directory - (detached--session-working-directory session)) + (detached-session-working-directory session)) (detached-session-mode (or detached-session-mode (detached--session-initial-mode session))) (detached-session-action (detached--session-action session)) @@ -494,7 +494,7 @@ The session is compiled by opening its output and enabling (when (detached-valid-session session) (let* ((detached-local-session (detached--session-local session)) (default-directory - (detached--session-working-directory session)) + (detached-session-working-directory session)) (detached-session-mode (or detached-session-mode (detached--session-initial-mode session))) (detached-session-action (detached--session-action session)) @@ -598,7 +598,7 @@ Optionally DELETE the session if prefix-argument is provided." (let ((inhibit-read-only t)) (erase-buffer) (insert (detached-session-output session)) - (setq-local default-directory (detached--session-working-directory session)) + (setq-local default-directory (detached-session-working-directory session)) (detached-log-mode)) (setq detached-buffer-session session) (goto-char (point-max))) @@ -906,7 +906,7 @@ This function uses the `notifications' library." (setq buffer (generate-new-buffer (buffer-name buffer)))) (funcall #'async-shell-command command buffer) (with-current-buffer buffer - (setq-local default-directory (detached--session-working-directory session)) + (setq-local default-directory (detached-session-working-directory session)) (setq detached-buffer-session detached-current-session))))) ;;;;; Public session functions @@ -1107,6 +1107,10 @@ This function uses the `notifications' library." "Return directory where SESSION files are located." (detached--session-directory session)) +(defun detached-session-working-directory (session) + "Return SESSION's working directory." + (detached--session-working-directory session)) + (defun detached-session-started-p (session) "Return t if SESSION has been started." (not (eq 'unknown (detached-session-state session)))) @@ -1921,7 +1925,7 @@ start searching at NUMBER offset." (defun detached--working-dir-str (session) "Return working directory of SESSION." (let ((working-directory - (detached--session-working-directory session))) + (detached-session-working-directory session))) (if-let ((remote (file-remote-p working-directory))) (string-remove-prefix remote working-directory) working-directory)))