diff options
Diffstat (limited to 'completions/ldapsearch')
-rw-r--r-- | completions/ldapsearch | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/completions/ldapsearch b/completions/ldapsearch new file mode 100644 index 0000000..6dc415e --- /dev/null +++ b/completions/ldapsearch @@ -0,0 +1,231 @@ +# bash completion for openldap -*- shell-script -*- + +_ldap_uris() +{ + COMPREPLY=($(compgen -W 'ldap:// ldaps://' -- "$cur")) +} + +_ldap_protocols() +{ + COMPREPLY=($(compgen -W '2 3' -- "$cur")) +} + +_ldapsearch() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*T) + _filedir -d + return + ;; + -*[fy]) + _filedir + return + ;; + -*s) + COMPREPLY=($(compgen -W 'base one sub children' -- "$cur")) + return + ;; + -*a) + COMPREPLY=($(compgen -W 'never always search find' -- "$cur")) + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldapsearch ldapsearch + +_ldapaddmodify() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*[Sfy]) + _filedir + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldapaddmodify ldapadd ldapmodify + +_ldapdelete() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*[fy]) + _filedir + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldapdelete ldapdelete + +_ldapcompare() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*y) + _filedir + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldapcompare ldapcompare + +_ldapmodrdn() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*[fy]) + _filedir + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -ZZ -MM' -- "$cur")) + fi +} && + complete -F _ldapmodrdn ldapmodrdn + +_ldapwhoami() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*[fy]) + _filedir + return + ;; + -*P) + _ldap_protocols + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldapwhoami ldapwhoami + +_ldappasswd() +{ + local cur prev words cword + _init_completion || return + + case $prev in + -*h) + _known_hosts_real -- "$cur" + return + ;; + -*H) + _ldap_uris + return + ;; + -*[tTy]) + _filedir + return + ;; + esac + + if [[ $cur == -* ]]; then + COMPREPLY=($(compgen -W '$(_parse_help "$1") -MM -ZZ' -- "$cur")) + fi +} && + complete -F _ldappasswd ldappasswd + +# ex: filetype=sh |