From ab7ec8d9851fea8230e1ccfba284c5bfaf457d88 Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Sun, 3 May 2015 16:53:47 +0200 Subject: 35011: update completions for some common Unix commands, in particular improving FreeBSD support --- Completion/Unix/Command/_uname | 116 +++++++++++++++++++++++++---------------- 1 file changed, 72 insertions(+), 44 deletions(-) (limited to 'Completion/Unix/Command/_uname') 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 -- cgit 1.4.1