emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dtache 5a39733299 2/2: Improve output when attaching


From: ELPA Syncer
Subject: [elpa] externals/dtache 5a39733299 2/2: Improve output when attaching
Date: Thu, 12 May 2022 11:57:30 -0400 (EDT)

branch: externals/dtache
commit 5a39733299cae60da2aab0e0b9f559bcc022369f
Author: Niklas Eklund <niklas.eklund@posteo.net>
Commit: Niklas Eklund <niklas.eklund@posteo.net>

    Improve output when attaching
    
    Fix tests and make functionality work with eshell. Also update the
    documentation and enable the feature by default.
---
 CHANGELOG.org       |  1 +
 README.md           | 33 +++++++++++++++++----------------
 dtache-eshell.el    |  5 +++--
 dtache.el           |  7 ++++---
 test/dtache-test.el |  9 +++++----
 5 files changed, 30 insertions(+), 25 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 41425e0e93..141adc0b90 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,6 +4,7 @@
 
 *   Development
 - Add integration with =dired= through =dired-do-shell-command=
+- Add option to show a session's output when attaching to a it. This feature 
is enabled with =dtache-show-output-on-attach=.
 
 * Version 0.6 (2022-05-01)
 
diff --git a/README.md b/README.md
index b99ff41ce8..e4b58e9705 100644
--- a/README.md
+++ b/README.md
@@ -229,22 +229,23 @@ Examples of the different sources are featured in this 
[blog post](https://nikla
 
 The package provides the following customizable variables.
 
-| Name                               | Description                             
                               |
-|------------------------------------|------------------------------------------------------------------------|
-| dtache-session-directory           | A host specific directory to store 
sessions in                         |
-| dtache-db-directory                | A localhost specific directory to store 
the database                   |
-| dtache-dtach-program               | Name or path to the `dtach` program     
                               |
-| dtache-shell-program               | Name or path to the `shell` that 
`dtache` should use                   |
-| dtache-timer-configuration         | Configuration of the timer that runs on 
remote hosts                   |
-| dtache-env                         | Name or path to the `dtache-env` script 
                               |
-| dtache-annotation-format           | A list of annotations that should be 
present in completion             |
-| dtache-max-command-length          | How many characters should be used when 
displaying a command           |
-| dtache-tail-interval               | How often `dtache` should refresh the 
output when tailing              |
-| dtache-nonattachable-commands      | A list of commands that should be 
considered nonattachable             |
-| dtache-notification-function       | Specifies which function to issue 
notifications with                   |
-| dtache-detach-key                  | Specifies which keybinding to use to 
detach from a session             |
-| dtache-shell-command-initial-input | Enables latest value in history to be 
used as initial input            |
-| dtache-filter-ansi-sequences       | Specifies if dtache will use ansi-color 
to filter out escape sequences |
+| Name                               | Description                             
                                  |
+|------------------------------------|---------------------------------------------------------------------------|
+| dtache-session-directory           | A host specific directory to store 
sessions in                            |
+| dtache-db-directory                | A localhost specific directory to store 
the database                      |
+| dtache-dtach-program               | Name or path to the `dtach` program     
                                  |
+| dtache-shell-program               | Name or path to the `shell` that 
`dtache` should use                      |
+| dtache-timer-configuration         | Configuration of the timer that runs on 
remote hosts                      |
+| dtache-env                         | Name or path to the `dtache-env` script 
                                  |
+| dtache-annotation-format           | A list of annotations that should be 
present in completion                |
+| dtache-max-command-length          | How many characters should be used when 
displaying a command              |
+| dtache-tail-interval               | How often `dtache` should refresh the 
output when tailing                 |
+| dtache-nonattachable-commands      | A list of commands that should be 
considered nonattachable                |
+| dtache-notification-function       | Specifies which function to issue 
notifications with                      |
+| dtache-detach-key                  | Specifies which keybinding to use to 
detach from a session                |
+| dtache-shell-command-initial-input | Enables latest value in history to be 
used as initial input               |
+| dtache-filter-ansi-sequences       | Specifies if dtache will use ansi-color 
to filter out escape sequences    |
+| dtache-show-output-command         | Specifies if dtache should show the 
session's output when attaching to it |
 
 Apart from those variables there is also the different `action` variables, 
which can be configured differently depending on the origin of the session.
 
diff --git a/dtache-eshell.el b/dtache-eshell.el
index e375e028fe..a7edd69d18 100644
--- a/dtache-eshell.el
+++ b/dtache-eshell.el
@@ -114,10 +114,11 @@ If prefix-argument directly DETACH from the session."
                        (mapconcat #'identity
                                   (flatten-list args)
                                   " ")))
-             (session (dtache-create-session command)))
+             (session (dtache-create-session command))
+             (command (dtache-dtach-command session)))
         (setq dtache--buffer-session session)
         (setq dtache-enabled nil)
-        (apply orig-fun `(,dtache-dtach-program ,(dtache-dtach-command 
session))))
+        (apply orig-fun `(,(seq-first command) ,(seq-rest command))))
     (apply orig-fun args)))
 
 ;;;; Minor mode
diff --git a/dtache.el b/dtache.el
index d77716399e..802eee6538 100644
--- a/dtache.el
+++ b/dtache.el
@@ -77,7 +77,7 @@
   :type 'string
   :group 'dtache)
 
-(defcustom dtache-show-output-on-attach nil
+(defcustom dtache-show-output-on-attach t
   "If set to t show the session output when attaching to it."
   :type 'bool
   :group 'dtache)
@@ -809,7 +809,7 @@ Optionally CONCAT the command return command into a string."
            (append
             (when dtache-show-output-on-attach
               `(,dtache-show-output-command  ,(concat log ";")))
-            `(,dtach-arg ,socket "-r" "none")))
+            `(,dtache-dtach-program ,dtach-arg ,socket "-r" "none")))
        (if concat
            (mapconcat #'identity
                       `(,dtache-dtach-program
@@ -818,7 +818,8 @@ Optionally CONCAT the command return command into a string."
                         ,dtache-shell-program "-c"
                         ,(shell-quote-argument (dtache--dtache-command 
session)))
                       " ")
-         `(,dtach-arg ,socket "-z"
+         `(,dtache-dtach-program
+           ,dtach-arg ,socket "-z"
                       ,dtache-shell-program "-c"
                       ,(dtache--dtache-command session)))))))
 
diff --git a/test/dtache-test.el b/test/dtache-test.el
index 9ea9011353..2cfb82b381 100644
--- a/test/dtache-test.el
+++ b/test/dtache-test.el
@@ -77,7 +77,8 @@
                (lambda (_)
                  session)))
      (let* ((dtache-session-mode 'create-and-attach)
-            (expected `("-c" ,(dtache--session-file session 'socket t)
+            (expected `(,dtache-dtach-program
+                        "-c" ,(dtache--session-file session 'socket t)
                         "-z" ,dtache-shell-program
                         "-c"
                         ,(format "{ dtache-env ls\\ -la; } 2>&1 | tee %s"
@@ -92,9 +93,9 @@
        (should (equal expected (dtache-dtach-command session)))
        (should (equal expected-concat (dtache-dtach-command session t))))
      (let* ((dtache-session-mode 'attach)
-            (expected `("-a" ,(dtache--session-file session 'socket t) "-r" 
"none"
-                        ,dtache-show-output-command
-                        ,(format "%s;" (dtache--session-file session 'log t))))
+            (expected `(,dtache-show-output-command
+                        ,(format "%s;" (dtache--session-file session 'log t))
+                        ,dtache-dtach-program "-a" ,(dtache--session-file 
session 'socket t) "-r" "none"))
             (expected-concat (format "%s %s; %s -a %s -r none"
                                      dtache-show-output-command
                                      (dtache--session-file session 'log t)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]