summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_uname
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_uname')
-rw-r--r--Completion/Unix/Command/_uname116
1 files changed, 72 insertions, 44 deletions
diff --git a/Completion/Unix/Command/_uname b/Completion/Unix/Command/_uname
index 9b4663b8a..414a82a87 100644
--- a/Completion/Unix/Command/_uname
+++ b/Completion/Unix/Command/_uname
@@ -1,53 +1,81 @@
#compdef uname
typeset -A _uname_args
+local -a args
+
+case $LANG in
+ de_*)
+ _uname_args=(
+ all "alle Grundinformationen ausgeben"
+ kernel-name "Namen des Kernels ausgeben"
+ nodename "Netzwerknamen der Maschine ausgeben"
+ kernel-release "Release-Nummer des Kernels ausgeben"
+ kernel-version "Version des Kernels ausgeben"
+ os-release "Release-Nummer des Betriebssystems ausgeben"
+ machine "Maschinentyp (Hardware) ausgeben"
+ processor "Typ des Prozessors ausgeben"
+ hardware-platform "Hardwareplattform ausgeben"
+ operating-system "Namen des Betriebssystems ausgeben"
+ help "Hilfe anzeigen und beenden"
+ version "Versionsinformation anzeigen und beenden"
+ )
+ ;;
+ (*)
+ _uname_args=(
+ all "print all basic information"
+ kernel-name "print kernel name"
+ nodename "print network node hostname"
+ kernel-release "print kernel release"
+ kernel-version "print kernel version"
+ os-release "print operating system release level"
+ machine "print machine hardware name"
+ processor "print processor type"
+ hardware-platform "print hardware platform"
+ operating-system "print name of the operating system"
+ help "display help information"
+ version "output version information and exit"
+ )
+ ;;
+esac
if _pick_variant gnu="Free Soft" unix --version; then
- case $LANG in
- (de_DE.UTF-8)
- _uname_args=(
- all "alle Informationen ausgeben"
- kernel-name "Namen des Kernels ausgeben"
- nodename "Netzwerknamen der Maschine ausgeben"
- kernel-release "Release-Nummer des Kernels ausgeben"
- kernel-version "Version des Kernels ausgeben"
- machine "Maschinentyp (Hardware) ausgeben"
- processor "Typ des Prozessors ausgeben (oder das Wort unknown)"
- hardware-platform "Hardwareplattform ausgeben (oder das Wort unknown)"
- operating-system "Namen des Betriebssystems ausgeben"
- help "diese Hilfe anzeigen und beenden"
- version "Versionsinformation anzeigen und beenden"
- )
+ _arguments -s \
+ '(-)'{--all,-a}'['$_uname_args[all]']' \
+ '(--kernel-name -s)'{--kernel-name,-s}'['$_uname_args[kernel-name]']' \
+ '(--nodename -n)'{--nodename,-n}'['$_uname_args[nodename]']' \
+ '(--kernel-release -r)'{--kernel-release,-r}'['$_uname_args[kernel-release]']' \
+ '(--kernel-version -v)'{--kernel-version,-v}'['$_uname_args[kernel-version]']' \
+ '(--machine -m)'{--machine,-m}'['$_uname_args[machine]']' \
+ '(--processor -p)'{--processor,-p}'['$_uname_args[processor]']' \
+ '(--hardware-platform -i)'{--hardware-platform,-i}'['$_uname_args[hardware-platform]']' \
+ '(--operating-system -o)'{--operating-system,-o}'['$_uname_args[operating-system]']' \
+ '(-)--help['$_uname_args[help]']' \
+ '(-)--version['$_uname_args[version]']'
+else
+ args=(
+ "(-m -n -r -s -v)-a[${_uname_args[all]}]"
+ '-m[print hardware class]'
+ "-n[${_uname_args[nodename]}]"
+ "-p[${_uname_args[processor]}]"
+ "-r[${_uname_args[os-release]}]"
+ "-s[${_uname_args[operating-system]}]"
+ '-v[print detailed operating system version]'
+ )
+ case $OSTYPE in
+ freebsd*|dragonfly*) args+=( '-i[print kernel ident]' ) ;|
+ freebsd<10->.*)
+ args+=(
+ '-K[print FreeBSD kernel version]'
+ '-U[print FreeBSD user environment version]'
+ )
;;
- (*)
- _uname_args=(
- all "print all information"
- kernel-name "print the kernel name"
- nodename "print the network node hostname"
- kernel-release "print the kernel release"
- kernel-version "print the kernel version"
- machine "print the machine hardware name"
- processor "print the processor type or \"unknown\""
- hardware-platform "print the hardware platform or \"unknown\""
- operating-system "print the operating system"
- help "display this help and exit"
- version "output version information and exit"
- )
+ solaris*)
+ args+=(
+ '-i[print platform name]'
+ '-S[set system name]:system name'
+ '-X[print expanded system information]'
+ )
;;
esac
-
- _arguments \
- '(--all -a)'{--all,-a}'['$_uname_args[all]']' \
- '(--kernel-name -s)'{--kernel-name,-s}'['$_uname_args[kernel-name]']' \
- '(--nodename -n)'{--nodename,-n}'['$_uname_args[nodename]']' \
- '(--kernel-release -r)'{--kernel-release,-r}'['$_uname_args[kernel-release]']' \
- '(--kernel-version -v)'{--kernel-version,-v}'['$_uname_args[kernel-version]']' \
- '(--machine -m)'{--machine,-m}'['$_uname_args[machine]']' \
- '(--processor -p)'{--processor,-p}'['$_uname_args[processor]']' \
- '(--hardware-platform -i)'{--hardware-platform,-i}'['$_uname_args[hardware-platform]']' \
- '(--operating-system -o)'{--operating-system,-o}'['$_uname_args[operating-system]']' \
- '--help['$_uname_args[help]']' \
- '--version['$_uname_args[version]']'
-else
-# TODO add options of a NON GNU implementation
+ _arguments -s $args
fi