summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_mknod
diff options
context:
space:
mode:
authordana <dana@dana.is>2018-12-17 14:49:33 -0600
committerdana <dana@dana.is>2018-12-17 14:49:33 -0600
commit43247252ddeedcf3955b030f2c77064089581cb0 (patch)
tree1775341f8fb89fdd992609c448a9d1c4d6bbf4d2 /Completion/Unix/Command/_mknod
parentf8864ac0c8bf2bbe9af9ed70973d7f9fd37d38b2 (diff)
downloadzsh-43247252ddeedcf3955b030f2c77064089581cb0.tar.gz
zsh-43247252ddeedcf3955b030f2c77064089581cb0.zip
43897: Add/update various completion functions
* Update tail to support -q/-v on NetBSD * Add several new functions (with one change needed to _hosts compdefs)
Diffstat (limited to 'Completion/Unix/Command/_mknod')
-rw-r--r--Completion/Unix/Command/_mknod45
1 files changed, 45 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_mknod b/Completion/Unix/Command/_mknod
new file mode 100644
index 000000000..902f49b9f
--- /dev/null
+++ b/Completion/Unix/Command/_mknod
@@ -0,0 +1,45 @@
+#compdef mknod gmknod
+
+# - @todo Major/minor device numbers could be completed using /proc/devices on
+# Linux and e.g. `stat -f %Hr /dev/*` on BSD/Darwin
+# - @todo Device numbers should not be completed given p or w types
+
+local -a aopts args
+
+if _pick_variant gnu='Free Soft' $OSTYPE --version; then
+ args=(
+ '(: * -)--help[display help information]'
+ '(: * -)--version[display version information]'
+ '(-m --mode)'{-m+,--mode=}'[specify file mode]: :_file_modes'
+ '1:special file:_files'
+ '2:special file type:((
+ b\:"block (buffered) special file"
+ {c,u}\:"character (unbuffered) special file"
+ p\:FIFO
+ ))'
+ '3:major device number'
+ '4:minor device number'
+ )
+ [[ $OSTYPE == linux* ]] && args+=(
+ '(--context)-Z[set SELinux security context to default]'
+ '(-Z)--context=-[like -Z, or specify SELinux security context]:SELinux security context'
+ )
+else
+ aopts=( -A '-*' )
+ args=(
+ '-F+[specify device-number format]:device-number format:(
+ native 386bsd 4bsd bsdos freebsd hpux isc linux netbsd osf1 sco solaris
+ sunos svr3 svr4 ultrix
+ )'
+ '1:special file:_files'
+ '2:special file type:((
+ b\:"block-type device"
+ c\:"character-type device"
+ w\:"whiteout node"
+ ))'
+ '3:major device number'
+ '4:minor device number'
+ )
+fi
+
+_arguments -s -S $aopts : $args