Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Correct completion of 'tmux new <TAB>'.
- X-seq: zsh-workers 41444
- From: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH] Correct completion of 'tmux new <TAB>'.
- Date: Thu, 20 Jul 2017 20:58:13 +0000
- Cc: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= daniel.shahaf.name; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=ENly/e 4t+wIrVkPCTvcEZr1Z6HLL0xdzG3XlkfVWoFw=; b=YtoDBiVzywc9uwh/uRRVOT E2Uvb2TkCvCwGT3lXjhqNxVwkj3tGXNJQ6Wa+ekMeRNMbyDP6EbQQrMU3HR41jzX EHd3aG7v9dAgkyut89oT2+YySdfYszTgabO5pSyEnigHM7ebKR4cMcb4trzVbO3P y9BcyAog8EGFrYSKwLVsiZIPoWqq86+Kv/fEykLz8Ia2DdhL5oUnOSXHYrI8iE4E bNn87QwwYWfBSumkgIYyM+7Qqn8dQEp2rm49555jaG0WwUgtyXpKEvd/JaJU/TCH 693VEmaovKMpoRxwqY44VgI2thgFSZnzmzOz2SvRY0ddU0Faeyqnm6BoQbwEsOGA ==
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:message-id:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=ENly/e 4t+wIrVkPCTvcEZr1Z6HLL0xdzG3XlkfVWoFw=; b=FHr16RYUROR9cZGp9mStam VlZOqVmCxeaWfiepOC/ysIPBsM4GigUv/ZPr4+6OJ74BYc7AhqvBAPI8TPrvxx01 N7dJPQVZN1/m1l8H/3ogjxgy6eTbZZYveqxIogX7zuGX/e2voreqRs5CsH46TJKL 6OsFbpw9l7MBt9OirUWbneuNdljIg1Wu3NkSnf0InwbZgSLZfkk2bp3gGe+4/IWg 0MYSUJ6NlaWj3Kgk6kfD/iTLNp+O9obgmafBTO3p7qQkijI+se2E0/MbnORWAIN7 nuRE20mLPecRD4d5y2xpAC01A0xUlKHRm8UdMqbxl37NSNV2ApKM9CgtF6+JSPQA ==
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
Reference: window_pane_spawn() in tmux 2.5.
Also, document _cmdstring and _precommand.
---
To reproduce:
% touch foo\ bar
% tmux new ls ./foo<TAB>
% tmux new ls\ ./foo<TAB>
Use remain-on-exit (or a script that calls ls and sleeps) to see the difference.
Cheers,
Daniel
Completion/Unix/Command/_tmux | 2 +-
Doc/Zsh/compsys.yo | 16 ++++++++++++++++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Completion/Unix/Command/_tmux b/Completion/Unix/Command/_tmux
index 0917da604..5f5bea922 100644
--- a/Completion/Unix/Command/_tmux
+++ b/Completion/Unix/Command/_tmux
@@ -526,7 +526,7 @@ _tmux-new-session() {
'-t+[specify target session]:session:__tmux-sessions' \
'-x[specify width]:width' \
'-y[specify height]:height' \
- '*:: :_cmdstring'
+ '*:: :_cmdambivalent'
}
_tmux-new-window() {
diff --git a/Doc/Zsh/compsys.yo b/Doc/Zsh/compsys.yo
index 47b07e85e..47c30843c 100644
--- a/Doc/Zsh/compsys.yo
+++ b/Doc/Zsh/compsys.yo
@@ -3014,6 +3014,17 @@ tt(-n), tt(-F), tt(-X) are passed to tt(compadd).
See tt(_description) for a description of var(tag) and var(descr).
)
+findex(_cmdambivalent)
+item(tt(_cmdambivalent))(
+Completes an external command.
+If there is a single argument, complete the command in a single word, like tt(_cmdstring);
+otherwise, complete the command in word-separated arguments, like tt(_precommand).
+)
+findex(_cmdstring)
+item(tt(_cmdstring))(
+Completes an external command as a single argument, as for
+tt(system+LPAR()...+RPAR()).
+)
findex(_complete)
item(tt(_complete))(
This completer generates all possible completions in a context-sensitive
@@ -3214,6 +3225,11 @@ tt(old-menu), see
ifzman(the section `Completion System Configuration' above)\
ifnzman(noderef(Completion System Configuration)).
)
+findex(_precommand)
+item(tt(_precommand))(
+Complete an external command in word-separated arguments, as for
+tt(exec) and tt(/usr/bin/env).
+)
findex(_prefix)
item(tt(_prefix))(
This completer can be used to try completion with the suffix (everything
Messages sorted by:
Reverse Date,
Date,
Thread,
Author