From 0f0b602415961aa9ca069c9719a0fbb4bbb9941f Mon Sep 17 00:00:00 2001 From: dana Date: Fri, 5 Jan 2018 14:26:17 -0600 Subject: 42231: new completion functions for simple utilities belonging to the 'Darwin' and 'Linux' groups. --- Completion/Linux/Command/_chattr | 42 ++++++++++++++++++++++++++++++++++++++ Completion/Linux/Command/_ldconfig | 35 +++++++++++++++++++++++++++++++ Completion/Linux/Command/_lsattr | 11 ++++++++++ 3 files changed, 88 insertions(+) create mode 100644 Completion/Linux/Command/_chattr create mode 100644 Completion/Linux/Command/_ldconfig create mode 100644 Completion/Linux/Command/_lsattr (limited to 'Completion/Linux') diff --git a/Completion/Linux/Command/_chattr b/Completion/Linux/Command/_chattr new file mode 100644 index 000000000..bf46d8b89 --- /dev/null +++ b/Completion/Linux/Command/_chattr @@ -0,0 +1,42 @@ +#compdef chattr + +local ret=1 +local -a context line state state_descr +local -A opt_args val_args + +_arguments -s -S : \ + '-f[suppress most error messages]' \ + "-p+[set file's project number]:project number" \ + '-R[act recursively]' \ + '-V[output verbosely]' \ + "-v+[set file's version/generation number]:version/generation number" \ + '1: :->attrs' \ + '*: :_files' \ +&& ret=0 + +[[ $state == attrs ]] && +if compset -P '*[=+-]'; then + # These modes can't be changed with chattr: [EhINXZ] + _values -S '' attribute \ + 'A[no atime updates]' \ + 'a[append only]' \ + 'C[no copy on write]' \ + 'c[compressed]' \ + 'D[no synchronous directory updates]' \ + 'd[no dump]' \ + 'e[extent format]' \ + 'i[immutable]' \ + 'j[data journalling]' \ + 'P[project hierarchy]' \ + 'S[synchronous updates]' \ + 's[secure deletion]' \ + 'T[top of directory hierarchy]' \ + 't[no tail-merging]' \ + 'u[undeletable]' \ + && ret=0 +else + compset -P '*' + _values -S '' operator = + - && ret=0 +fi + +return ret diff --git a/Completion/Linux/Command/_ldconfig b/Completion/Linux/Command/_ldconfig new file mode 100644 index 000000000..5f4802f91 --- /dev/null +++ b/Completion/Linux/Command/_ldconfig @@ -0,0 +1,35 @@ +#compdef ldconfig ldconfig.real + +local ret=1 +local -a context line state state_descr +local -A opt_args + +_arguments -s -S : \ + '(x -v --verbose)'{-v,--verbose}'[output verbosely]' \ + '(x)*: :->files' \ + + x \ + '(: -)'{-\?,--help}'[display help information]' \ + '(: -)'{-p,--print-cache}'[display libraries in current cache]' \ + '(: -)--usage[display brief usage information]' \ + '(: -)'{-V,--version}'[display version information]' \ + + l \ + '(x o)-l[manually link individual libraries (library mode)]' \ + + o \ + '(x l -c --format)'{-c+,--format=}'[specify cache format]:cache format:(old new compat)' \ + '(x l)-C+[specify cache file to use instead of /etc/ld.so.cache]:cache file:_files' \ + '(x l)-f+[specify configuration file to use instead of /etc/ld.so.conf]:configuration file:_files' \ + '(x l -i --ignore-aux-cache)'{-i,--ignore-aux-cache}'[ignore auxiliary cache file]' \ + '(x l -N)-n[process only directories specified on command line (implies -N)]' \ + '(x l)-N[do not rebuild cache]' \ + '(x l)-r+[specify root directory]:root directory:_directories' \ + '(x l)-X[do not update symbolic links]' \ +&& ret=0 + +[[ $state == files ]] && +if [[ -n ${opt_args[(I)l--l]} ]]; then + _object_files && ret=0 +else + _directories && ret=0 +fi + +return ret diff --git a/Completion/Linux/Command/_lsattr b/Completion/Linux/Command/_lsattr new file mode 100644 index 000000000..def0bd3d9 --- /dev/null +++ b/Completion/Linux/Command/_lsattr @@ -0,0 +1,11 @@ +#compdef lsattr + +_arguments -s -S : \ + '-a[show all files, including hidden ones]' \ + '-d[list directory entries instead of contents]' \ + '-l[use long option names]' \ + "-p[show file's project number]" \ + '-R[act recursively]' \ + '-V[display version information]' \ + "-v[show file's version/generation number]" \ + '*: :_files' -- cgit 1.4.1