diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Completion/Unix/Command/_tmux | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 19846e790..968cc83fa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2017-08-30 Daniel Shahaf <d.s@daniel.shahaf.name> + * 41566: Completion/Unix/Command/_tmux: Complete only attached + sessions for detach-session. + * 41564: Completion/Unix/Command/_tmux: Complete environment variables and their values for set-environment and show-environment. diff --git a/Completion/Unix/Command/_tmux b/Completion/Unix/Command/_tmux index 7999be3eb..48fe29aee 100644 --- a/Completion/Unix/Command/_tmux +++ b/Completion/Unix/Command/_tmux @@ -302,7 +302,7 @@ _tmux-detach-client() { _arguments -s \ '-a[kill all clients except for the named by -t]' \ '-P[send SIGHUP to parent process]' \ - '-s+[specify target session and kill its clients]:session:__tmux-sessions' \ + '-s+[specify target session and kill its clients]:session:__tmux-sessions-attached' \ '-t+[specify target client]:client:__tmux-clients' } @@ -1366,6 +1366,13 @@ function __tmux-sessions() { _describe -t sessions 'sessions' sessions "$@" } +function __tmux-sessions-attached() { + local -a sessions + sessions=( ${${(f)"$(command tmux 2> /dev/null list-sessions)"}/:[ $'\t']##/:} ) + sessions=( ${(M)sessions:#*"(attached)"} ) + _describe -t sessions 'attached sessions' sessions "$@" +} + function __tmux-socket-name() { local expl sdir local curcontext="${curcontext}" |