Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH] Completion: Break out _exec, _setsid
- X-seq: zsh-workers 43960
- From: dana <dana@xxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxx>
- Subject: [PATCH] Completion: Break out _exec, _setsid
- Date: Sun, 30 Dec 2018 20:13:10 -0600
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dana-is.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=eW3nUNLYxymAZWNnQZ/8ddX0hQqvmah4pR+iIErsQhs=; b=ExcrNdDrM+c3xIRVMXaS48mkTqG0yDMCgJuoi/OKD69RVGPyPau3d5hs57kXEXhvo9 PwvD1UlJiGnqFOWjKLP9Q/7QPivuaWULVDL8oQ2sW+plQfc32+NfhcMislYtTo3bSezK I/83FJdXT+k/ZPJSggsbpKt9k2M9lMhJ9QDeeLnOPke8b9Rx5bdAP1IGu3163w0nFcmm 7sJ7e9MKEhQ4NYtH/+RaCUh+9mvU8Y9rRP1cx4TQCiTnUn2oa3WMWk9DR3b4dGmZ6IDh y+pTnCzX8tqe3apN22hkWH8JWHLTVuCz+cNWkKLLcrKHvIXAKnBL2lfuf4odvFavcqEw 1xLA==
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
This breaks exec and setsid out of _precommand into their own functions.
I put _setsid under Linux with the rest of the util-linux stuff, though it
does work on other platforms (it's in Homebrew for example), so maybe that's
arguable
dana
diff --git a/Completion/Linux/Command/_setsid b/Completion/Linux/Command/_setsid
new file mode 100644
index 000000000..a8107e582
--- /dev/null
+++ b/Completion/Linux/Command/_setsid
@@ -0,0 +1,12 @@
+#compdef setsid
+
+[[ $service == setsid ]] && precommands+=( setsid )
+
+_arguments -s -S -A '-*' : \
+ '(: * -)'{-h,--help}'[display help information]' \
+ '(: * -)'{-V,--version}'[display version information]' \
+ '(-c --ctty)'{-c,--ctty}'[set controlling terminal to current one]' \
+ '(-f --fork)'{-f,--fork}'[always fork]' \
+ '(-w --wait)'{-w,--wait}'[wait for program to exit, and use same return code]' \
+ '1: :_path_commands' \
+ '*:: : _normal'
diff --git a/Completion/Zsh/Command/_exec b/Completion/Zsh/Command/_exec
new file mode 100644
index 000000000..8de341a02
--- /dev/null
+++ b/Completion/Zsh/Command/_exec
@@ -0,0 +1,9 @@
+#compdef exec
+
+[[ $service == exec ]] && precommands+=( exec )
+
+_arguments -s -S -A '-*' : \
+ '-a+[set argv\[0\] to specified string]:argv[0] string' \
+ '-c[clear environment]' \
+ '-l[simulate login shell (prepend - to argv\[0\])]' \
+ '*:: : _normal'
diff --git a/Completion/Zsh/Command/_precommand b/Completion/Zsh/Command/_precommand
index f57e668c6..c9eef78af 100644
--- a/Completion/Zsh/Command/_precommand
+++ b/Completion/Zsh/Command/_precommand
@@ -1,4 +1,4 @@
-#compdef - nohup eval time rusage noglob nocorrect exec catchsegv aoss hilite eatmydata setsid
+#compdef - nohup eval time rusage noglob nocorrect catchsegv aoss hilite eatmydata
# precommands is made local in _main_complete
precommands+=($words[1])
Messages sorted by:
Reverse Date,
Date,
Thread,
Author