summaryrefslogtreecommitdiffstats
path: root/completions/smbclient
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--completions/smbclient322
1 files changed, 322 insertions, 0 deletions
diff --git a/completions/smbclient b/completions/smbclient
new file mode 100644
index 0000000..cea2107
--- /dev/null
+++ b/completions/smbclient
@@ -0,0 +1,322 @@
+# bash completion for samba -*- shell-script -*-
+
+_samba_resolve_order()
+{
+ COMPREPLY=($(compgen -W 'lmhosts host wins bcast' -- "$cur"))
+}
+
+_samba_domains()
+{
+ if [[ -n ${COMP_SAMBA_SCAN:-} ]]; then
+ COMPREPLY=($(compgen -W '$(smbtree -N -D)' -- "$cur"))
+ fi
+}
+
+_samba_hosts()
+{
+ if [[ -n ${COMP_SAMBA_SCAN:-} ]]; then
+ COMPREPLY=($(compgen -W "$(
+ smbtree -N -S |
+ command sed -ne 's/^[[:space:]]*\\\\*\([^[:space:]]*\).*/\1/p'
+ )" -- "$cur"))
+ fi
+}
+
+_samba_debuglevel()
+{
+ COMPREPLY=($(compgen -W '{0..10}' -- "$cur"))
+}
+
+_samba_sockopts()
+{
+ COMPREPLY=($(compgen -W 'SO_KEEPALIVE SO_REUSEADDR SO_BROADCAST
+ TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_SNDBUF SO_RCVBUF
+ SO_SNDLOWAT SO_RCVLOWAT' -- "$cur"))
+}
+
+_samba_signing()
+{
+ COMPREPLY=($(compgen -W 'on off required' -- "$cur"))
+}
+
+_smbclient()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --name-resolve | -!(-*)R)
+ _samba_resolve_order
+ return
+ ;;
+ -!(-*)t)
+ COMPREPLY=($(compgen -W 'SJIS EUC JIS7 JIS8 JUNET HEX CAP' \
+ -- "$cur"))
+ return
+ ;;
+ --configfile | --authentication-file | -!(-*)[sA])
+ _filedir
+ return
+ ;;
+ --log-basename | --directory | -!(-*)[lD])
+ _filedir -d
+ return
+ ;;
+ --socket-options | -!(-*)O)
+ _samba_sockopts
+ return
+ ;;
+ -!(-*)T)
+ COMPREPLY=($(compgen -W 'c x I X F b g q r N a' -- "$cur"))
+ return
+ ;;
+ --workgroup | -!(-*)W)
+ _samba_domains
+ return
+ ;;
+ --debuglevel | -!(-*)d)
+ _samba_debuglevel
+ return
+ ;;
+ --list | -!(-*)L)
+ _samba_hosts
+ return
+ ;;
+ --signing | -!(-*)S)
+ _samba_signing
+ return
+ ;;
+ --port | --message | --ip-address | --send-buffer | --user | --netbiosname | \
+ --scope | --tar | --command | --max-protocol | -!(-*)[pMIbUniTcm])
+ return
+ ;;
+ --help | --version | -!(-*)[?V])
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+} &&
+ complete -F _smbclient smbclient
+
+_smbget()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --outputfile | --rcfile | -!(-*)[of])
+ _filedir
+ return
+ ;;
+ --debuglevel | -!(-*)d)
+ _samba_debuglevel
+ return
+ ;;
+ --workgroup | -!(-*)w)
+ _samba_domains
+ return
+ ;;
+ --username | --password | --blocksize | -!(-*)[upb])
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+} &&
+ complete -F _smbget smbget
+
+_smbcacls()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --configfile | --authentication-file | -!(-*)[As])
+ _filedir
+ return
+ ;;
+ --log-basename | -!(-*)l)
+ _filedir -d
+ return
+ ;;
+ --debuglevel | -!(-*)d)
+ _samba_debuglevel
+ return
+ ;;
+ --signing)
+ _samba_signing
+ return
+ ;;
+ --socket-options | -!(-*)O)
+ _samba_sockopts
+ return
+ ;;
+ --workgroup | -!(-*)W)
+ _samba_domains
+ return
+ ;;
+ --help | --usage | --delete | --modify | --add | --set | --chown | --chgrp | \
+ --netbiosname | --scope | --user | -!(-*)[?DMaSCGniU])
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+} &&
+ complete -F _smbcacls smbcacls
+
+_smbcquotas()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --configfile | --authentication-file | -!(-*)[sA])
+ _filedir
+ return
+ ;;
+ --log-basename | -!(-*)l)
+ _filedir -d
+ return
+ ;;
+ --debuglevel | -!(-*)d)
+ _samba_debuglevel
+ return
+ ;;
+ --signing)
+ _samba_signing
+ return
+ ;;
+ --help | --usage | --user | --set | -!(-*)[?UuS])
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+} &&
+ complete -F _smbcquotas smbcquotas
+
+_smbpasswd()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ -*r)
+ _samba_hosts
+ return
+ ;;
+ -*R)
+ _samba_resolve_order
+ return
+ ;;
+ -*c)
+ _filedir
+ return
+ ;;
+ -*D)
+ _samba_debuglevel
+ return
+ ;;
+ -*[Uhw])
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1" -h)' -- "$cur"))
+ fi
+} &&
+ complete -F _smbpasswd smbpasswd
+
+_smbtar()
+{
+ local cur prev words cword
+ _init_completion || return
+
+ case $prev in
+ -*[rt])
+ _filedir tar
+ return
+ ;;
+ -*s)
+ _samba_hosts
+ return
+ ;;
+ -*l)
+ _samba_debuglevel
+ return
+ ;;
+ -*N)
+ _filedir
+ return
+ ;;
+ -*[pxbdu])
+ return
+ ;;
+ esac
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ fi
+} &&
+ complete -F _smbtar smbtar
+
+_smbtree()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ case $prev in
+ --configfile | --authentication-file | -!(-*)[sA])
+ _filedir
+ return
+ ;;
+ --log-basename | -!(-*)l)
+ _filedir -d
+ return
+ ;;
+ --debuglevel | -!(-*)d)
+ _samba_debuglevel
+ return
+ ;;
+ --signing | -!(-*)S)
+ _samba_signing
+ return
+ ;;
+ --help | --usage | --user | -!(-*)[?U])
+ return
+ ;;
+ esac
+
+ $split && return
+
+ if [[ $cur == -* ]]; then
+ COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
+ [[ ${COMPREPLY-} == *= ]] && compopt -o nospace
+ fi
+} &&
+ complete -F _smbtree smbtree
+
+# ex: filetype=sh