summaryrefslogtreecommitdiffstats
path: root/Completion/Unix/Command/_tla
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command/_tla')
-rw-r--r--Completion/Unix/Command/_tla631
1 files changed, 0 insertions, 631 deletions
diff --git a/Completion/Unix/Command/_tla b/Completion/Unix/Command/_tla
deleted file mode 100644
index ec7e76d44..000000000
--- a/Completion/Unix/Command/_tla
+++ /dev/null
@@ -1,631 +0,0 @@
-#compdef tla
-
-autoload -z is-at-least
-local TLA=$words[1]
-local tla_version
-local hide_short
-
-# ask the user which version of tla this is
-if ! zstyle -s ":completion:${curcontext}:" tla-version tla_version; then
- # ask tla instead
- tla_version="$($TLA --version)"
- if [[ "${${(f)tla_version}[1]}" == The\ GNU\ Arch\ Revision\ Control\ System\ \(tla\)\ (#b)([0-9.]##) ]]; then
- tla_version="$match[1]"
- else
- tla_version="${${$($TLA --version)#tla tla-}%% from regexps.com*}"
- [[ $tla_version == *[a-zA-Z]* ]] && tla_version=1.3 # tla doesn't know
- fi
-fi
-
-# test whether to hide short options from completion
-if zstyle -s ":completion:${curcontext}:" hide-shortopts hide_short; then
- case $hide_short in
- true|yes|on|1) hide_short='!' ;;
- *) hide_short='' ;;
- esac
-fi
-
-# completion functions
-
-(( $+functions[_tla_archives] )) ||
-_tla_archives () { _arch_archives tla "$@" }
-
-(( $+functions[_tla_categories] )) ||
-_tla_categories () { _arch_namespace tla 1 "$argv[@]" }
-
-(( $+functions[_tla_branches] )) ||
-_tla_branches () {_arch_namespace tla 2 "$argv[@]" }
-
-(( $+functions[_tla_versions] )) ||
-_tla_versions () { _arch_namespace tla 3 "$argv[@]" }
-
-(( $+functions[_tla_revisions] )) ||
-_tla_revisions () { _arch_namespace tla 4 "$argv[@]" }
-
-(( $+functions[_tla_local_revisions] )) ||
-_tla_local_revisions () {
- local expl1 expl2 tree_version=`$TLA tree-version`
- _description -V applied-patches expl1 "patch from this version"
- _description -V other-patches expl2 "patch from other versions"
- compadd "$expl1[@]" `$TLA logs`
- compadd "$expl2[@]" `$TLA logs --full $($TLA log-versions | grep -v $tree_version)`
- # This is incredibly slow.
- # Should complete based on -A, -R, -d
-}
-
-(( $+functions[_tla_config] )) ||
-_tla_config () {
-
- # zsh 4.1.1+ is recommended; 4.0.6 gives the error below when doing
- # tla build-config e<TAB>
- # _path_files:322: no matches found: configs//e/.(/)
- # whereas 4.1.1 completes correctly
-
- local configdir root ret=1 n expl
-
- n=$opt_args[(i)(-d|--dir)]
- [[ -n "$n" ]] && configdir=$opt_args[$n]
- root="$(_call_program tla $TLA tree-root ${configdir} 2>&1)"
- if (( $? )); then
- _message -e messages "Error: $root"
- return $ret
- fi
-
- if [[ -d "$root/configs" ]]; then
- configdir=("$root/configs")
- _description files expl 'config file'
- _files -W configdir "$expl[@]" && ret=0
- else
- _message -e messages "No configs/ directory in tree whose root is $root"
- fi
- return $ret
-}
-
-(( $+functions[_tla_limit] )) ||
-_tla_limit () { #presently only does push-mirror style limits
- [[ $words[$CURRENT] == *@* ]] && return 1
-
- local expl archive
- archive=${words[(r)*@*]:-$($TLA my-default-archive 2> /dev/null)}
- if [ $archive ]; then
-
- if [[ $PREFIX != *--* ]]; then
- _description -V categories expl "category in $archive"
- compadd -q -S -- "$expl[@]" `$TLA categories -A $archive`
- else
- _tla_namespace_branches 3
- fi
- fi
-}
-
-(( $+functions[_tla_tree_or_rev] )) ||
-_tla_tree_or_rev () {
- _alternative 'trees:tree:_files -/' 'revisions:revision:_tla_revisions'
-}
-
-(( $+functions[_tla_libraries] )) ||
-_tla_libraries () {
- local libraries expl
- libraries=($(_call_program tla $TLA my-revision-library))
- _description -V libraries expl "revision library"
- compadd "$expl[@]" -a libraries
-}
-
-(( $+functions[_tla_my_revision_library] )) ||
-_tla_my_revision_library () {
- if [[ -n $words[(r)-d] ]] || [[ -n $words[(r)--delete] ]]; then
- _tla_libraries
- else
- _files -/
- fi
-}
-
-(( $+functions[_tla_log_versions] )) ||
-_tla_log_versions () {
- local logs expl
- if is-at-least 1.1 $tla_version; then
- logs=($(_call_program tla $TLA log-versions))
- else
- logs=($(_call_program tla $TLA logs))
- fi
- _description -V versions expl "log version"
- compadd "$expl[@]" -a logs
-}
-
-# command argument definitions
-# commands with different versions
-
-local cmd_register_archive cmd_archives cmd_ls_archives cmd_redo
-local cmd_redo_changes cmd_changes cmd_what_changed cmd_categories
-local cmd_branches cmd_versions cmd_cacherev cmd_logs cmd_log_versions
-local cmd_log_ls cmd_update cmd_join_branch cmd_replay cmd_deltapatch
-local cmd_delta_patch cmd_apply_delta cmd_sync_tree cmd_make_sync_tree
-local cmd_delta cmd_revdelta cmd_library_categories cmd_library_branches
-local cmd_library_versions cmd_library_revisions
-local cmd_archive_register
-
-cmd_log_ls=('*:version:_tla_log_versions')
-cmd_log_versions=()
-# the options should only complete items that are in the tree
-
-if is-at-least 1.1 $tla_version; then
- cmd_register_archive=('::archive:_tla_archives' ':location:_files -/')
- cmd_archive_register=($cmd_register_archive)
- cmd_archives=('::regex:')
- cmd_redo=('::changeset:_files -/')
- cmd_changes=('::revision:_tla_revisions'
- # ':separator:(--)' '*::limit:_files'
- #don't understand the limit usage
- )
- cmd_categories=('::archive:_tla_archives')
- cmd_branches=('::category:_tla_categories')
- cmd_versions=('::branch:_tla_branches')
- cmd_cacherev=('::revision:_tla_revisions')
- #should only complete non-cached revisions
-
- cmd_logs=($cmd_log_ls)
- cmd_update=('::revision:_tla_revisions')
- cmd_join_branch=(':revision:_tla_revisions')
- #should only complete continuation revisions
-
- cmd_replay=('*::revision:_tla_revisions')
- cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev')
- cmd_sync_tree=(':revision:_tla_revisions')
- cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev' '::DEST:_files -/')
- cmd_library_categories=('::archive:_tla_archives --library')
- cmd_library_branches=('::category:_tla_categories --library')
- cmd_library_versions=('::branch:_tla_branches --library')
- cmd_library_revisions=('::version:_tla_versions --library')
-else
- cmd_register_archive=(':archive:_tla_archives' ':location:_files -/')
- cmd_archives=()
- cmd_redo=()
- cmd_changes=('::revision:_tla_revisions')
- cmd_categories=()
- cmd_branches=(':category:_tla_categories')
- cmd_versions=(':branch:_tla_branches')
- cmd_cacherev=(':revision:_tla_revisions' '::dir:_files -/')
- cmd_logs=($cmd_log_versions)
- cmd_update=(':dir:_files -/' '::newdir:_files -/'
- '::revision:_tla_revisions')
- cmd_join_branch=(':dir:_files -/' '::newdir:_files -/'
- ':revision:_tla_revisions')
- cmd_replay=(':dir:_files -/' '::newdir:_files -/' '::revision:_tla_revisions')
- cmd_deltapatch=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev'
- ':UPON:_tla_tree_or_rev' '::DEST:_files -/')
- cmd_sync_tree=(':dir:_files -/' '::newdir:_files -/'
- ':revision:_tla_revisions')
- cmd_delta=(':FROM:_tla_tree_or_rev' ':TO:_tla_tree_or_rev')
- cmd_library_categories=()
- cmd_library_branches=(':category:_tla_categories --library')
- cmd_library_versions=(':branch:_tla_branches --library')
- cmd_library_revisions=(':version:_tla_versions --library')
-fi
-
-cmd_ls_archives=($cmd_archives)
-cmd_redo_changes=($cmd_redo)
-cmd_what_changed=($cmd_changes)
-cmd_delta_patch=($cmd_deltapatch)
-cmd_apply_delta=($cmd_deltapatch)
-cmd_make_sync_tree=($cmd_sync_tree)
-cmd_revdelta=($cmd_delta)
-
-# commands the same in all versions
-
-local cmd_help
-cmd_help=()
-
-local cmd_my_id
-cmd_my_id=('::id-string:')
-
-local cmd_my_default_archive
-cmd_my_default_archive=('::archive:_tla_archives')
-
-local cmd_whereis_archive
-cmd_whereis_archive=(':archive:_tla_archives')
-
-local cmd_init_tree
-cmd_init_tree=('::version:_tla_versions')
-
-local cmd_tree_root
-cmd_tree_root=('::directory:_files -/')
-
-local cmd_tree_version
-cmd_tree_version=('::directory:_files -/')
-
-local cmd_set_tree_version
-cmd_set_tree_version=(':version:_tla_versions')
-
-local cmd_build_config cmd_buildcfg
-cmd_build_config=(':config:_tla_config')
-cmd_buildcfg=($cmd_build_config)
-
-local cmd_cat_config cmd_catcfg cmd_cfgcat
-cmd_cat_config=(':config:_tla_config')
-cmd_catcfg=($cmd_cat_config)
-cmd_cfgcat=($cmd_cat_config)
-
-local cmd_undo cmd_undo_changes
-cmd_undo=('::revision:_tla_revisions')
-cmd_undo_changes=($cmd_undo)
-
-local cmd_file_diffs
-cmd_file_diffs=(':file:_files' '::revision:_tla_revisions')
-
-local cmd_file_find
-cmd_file_find=(':file:_files' '::revision:_tla_revisions')
-
-local cmd_inventory cmd_srcfind
-cmd_inventory=('::separator:(--)' '*:directory:_files -/')
-cmd_srcfind=($cmd_inventory)
-
-local cmd_tree_lint cmd_lint
-cmd_tree_lint=('::directory:_files -/')
-cmd_lint=($cmd_tree_lint)
-
-local cmd_id cmd_invtag
-cmd_id=('*:file:_files')
-cmd_invtag=($cmd_id)
-
-local cmd_id_tagging_method cmd_tagging_method methods
-cmd_id_tagging_method=('::tagging method:(($methods))')
-methods=(
- 'names:use naming conventions only'
- 'implicit:use naming conventions but permit for inventory tags'
- 'tagline:use naming conventions but permit for inventory tags'
- 'explicit:require explicit designation of source'
-)
-cmd_tagging_method=($cmd_id_tagging_method)
-
-local cmd_add cmd_add_id cmd_add_tag
-cmd_add=('*:file to add:_files')
-cmd_add_id=($cmd_add)
-cmd_add_tag=($cmd_add)
-
-local cmd_delete cmd_delete_id cmd_delete_tag
-cmd_delete=('*:file to delete:_files')
-cmd_delete_id=($cmd_delete)
-cmd_delete_tag=($cmd_delete)
-
-local cmd_move cmd_move_id cmd_move_tag
-cmd_move_id=(':old name:_files' ':new name:_files')
-cmd_move_id=($cmd_move)
-cmd_move_tag=($cmd_move)
-#would be nice not to offer dirs for newname if oldname is a file, and
-#vice versa
-
-local cmd_mv
-cmd_mv=('*:file:_files')
-# not really right, but close enough
-
-local cmd_default_id cmd_explicit_default cmd_default_tag
-cmd_default_id=('::TAG-PREFIX:')
-cmd_explicit_default=($cmd_default_id)
-cmd_default_tag=($cmd_default_id)
-
-local cmd_tagging_defaults cmd_id_tagging_defaults
-cmd_tagging_defaults=()
-cmd_id_tagging_defaults=($cmd_tagging_defaults)
-
-local cmd_changeset cmd_mkpatch
-cmd_changeset=(
- ':ORIG:_files -/'
- ':MOD:_files -/'
- ':DEST:_files -/'
- '*:file:_files'
-)
-cmd_mkpatch=("$cmd_changeset[@]")
-
-local cmd_dopatch cmd_do_changeset cmd_apply_changeset
-cmd_dopatch=(':changeset:_files -/' ':target:_files -/')
-cmd_do_changeset=($cmd_dopatch)
-cmd_apply_changeset=($cmd_dopatch)
-
-local cmd_show_changeset
-cmd_show_changeset=('::changeset:_files -/')
-
-local cmd_make_archive
-cmd_make_archive=('::name:' ':location:_files -/')
-
-local cmd_archive_setup
-cmd_archive_setup=('*:version:_tla_branches --trailing-dashes')
-
-local cmd_make_category
-cmd_make_category=(':category:_tla_archives -S /')
-
-local cmd_make_branch
-cmd_make_branch=(':branch:_tla_categories --trailing-dashes')
-
-local cmd_make_version
-cmd_make_version=(':version:_tla_branches --trailing-dashes')
-
-local cmd_import cmd_imprev
-cmd_import=('::version:_tla_versions')
-cmd_imprev=($cmd_import)
-
-local cmd_commit cmd_cmtrev
-cmd_commit=('::version:_tla_versions' ':separator:(--)' '*:file:_files')
-cmd_cmtrev=($cmd_commit)
-
-local cmd_get cmd_getrev
-cmd_get=(':revision:_tla_revisions' '::directory:_files -/')
-cmd_getrev=($cmd_get)
-
-local cmd_get_patch cmd_get_changeset
-cmd_get_patch=(':revision:_tla_revisions' '::dir:_files -/')
-cmd_get_changeset=($cmd_get_patch)
-
-local cmd_lock_revision
-cmd_lock_revision=(':revision:_tla_revisions')
-
-local cmd_push_mirror cmd_archive_mirror
-cmd_push_mirror=(
- '::FROM or MINE:_tla_archives'
- '::TO:_tla_archives'
- '::LIMIT:_tla_limit'
-)
-cmd_archive_mirror=($cmd_push_mirror)
-
-local cmd_revisions
-cmd_revisions=('::version:_tla_versions')
-
-local cmd_ancestry
-cmd_ancestry=('::revision:_tla_revisions')
-
-local cmd_ancestry_graph
-cmd_ancestry_graph=('::revision:_tla_revisions')
-
-local cmd_cat_archive_log
-cmd_cat_archive_log=(':revision:_tla_revisions')
-
-local cmd_cachedrevs
-cmd_cachedrevs=(':version:_tla_versions')
-
-local cmd_uncacherev
-cmd_uncacherev=(':revision:_tla_revisions' '::dir:_files -/')
-
-local cmd_archive_meta_info
-cmd_archive_meta_info=(':item-name:((name\:foo mirror\:bar))')
-
-local cmd_archive_snapshot
-cmd_archive_snapshot=(':dir:_files -/' '::limit:_tla_revisions')
-
-local cmd_archive_version
-cmd_archive_version=()
-
-local cmd_archive_fixup
-cmd_archive_fixup=()
-
-local cmd_make_log
-cmd_make_log=('::version:_tla_versions')
-
-local cmd_add_log cmd_add_log_version
-cmd_add_log=(':version:_tla_versions')
-cmd_add_log_version=($cmd_add_log)
-
-local cmd_remove_log cmd_remove_log_version
-cmd_remove_log=(':version:_tla_log_versions')
-cmd_remove_log_version=($cmd_remove_log)
-
-local cmd_abrowse
-cmd_abrowse=('::LIMIT:_tla_revisions')
-
-local cmd_cat_log
-cmd_cat_log=(':revision-spec:_tla_local_revisions')
-
-local cmd_changelog
-cmd_changelog=('::version:_tla_versions')
-
-local cmd_log_for_merge
-cmd_log_for_merge=('::version:_tla_versions')
-
-local cmd_merges
-cmd_merges=(':INTO:_tla_revisions' '::FROM:_tla_revisions')
-
-local cmd_new_merges
-cmd_new_merges=('::version:_tla_versions')
-
-local cmd_tag cmd_tagrev cmd_branch
-cmd_tag=(':SOURCE-REVISION:_tla_revisions' ':TAG-VERSION:_tla_versions')
-cmd_tagrev=($cmd_tag)
-cmd_branch=($cmd_tag)
-
-local cmd_star_merge
-cmd_star_merge=(':FROM:_tla_revisions')
-
-local cmd_missing cmd_whats_missing
-cmd_missing=('::revision:_tla_revisions')
-cmd_whats_missing=($cmd_missing)
-
-local cmd_pristines cmd_ls_pristines
-cmd_pristines=('::limit:_tla_revisions')
-cmd_ls_pristines=($cmd_pristines)
-
-local cmd_lock_pristine
-cmd_lock_pristine=(':revision:_tla_revisions')
-
-local cmd_add_pristine
-cmd_add_pristine=(':revision:_tla_revisions')
-
-local cmd_find_pristine
-cmd_find_pristine=(':revision:_tla_revisions')
-
-local cmd_my_revision_library cmd_library_dir
-cmd_my_revision_library=(':library:_tla_my_revision_library')
-cmd_library_dir=($my_revision_library)
-
-local cmd_library_find
-cmd_library_find=(':revision:_tla_revisions --library')
-
-local cmd_library_add
-cmd_library_add=(':revision:_tla_revisions --exclude-library-revisions')
-
-local cmd_library_remove
-cmd_library_remove=(':revision:_tla_revisions --library')
-
-local cmd_library_archives
-cmd_library_archives=()
-
-local cmd_library_log
-cmd_library_log=(':revision:_tla_revisions --library')
-
-local cmd_library_file
-cmd_library_file=(':file:_files' ':revision:_tla_revisions --library')
-
-local cmd_grab
-cmd_grab=(':location:_files')
-
-local cmd_parse_package_name
-cmd_parse_package_name=(':name:')
-
-local cmd_valid_package_name
-cmd_valid_package_name=(':name:')
-
-local cmd_library_config
-cmd_library_config=(':library:_tla_libraries')
-
-local cmd_rbrowse
-cmd_rbrowse=('::regular expression:')
-
-local cmd_rm
-cmd_rm=('*:file:_files')
-
-local cmd_escape
-cmd_escape=(':string:')
-
-local cmd_diff
-cmd_diff=('::revision:_tla_revisions')
-
-local cmd_export
-cmd_export=(':revision:_tla_revisions' ':dir:_files -/')
-
-#mutually exclusive options
-
-local -A excludes
-excludes=(
-# This first line means that if --output was given, don't complete
-# --no-output or --keep. The converse is not true.
---output '--no-output --keep'
---no-output --output
-
---silent ' --quiet --report --verbose --debug'
---quiet '--silent --report --verbose --debug'
---report '--silent --quiet --verbose --debug'
---verbose '--silent --quiet --report --debug'
---debug '--silent --quiet --report --verbose '
-
---sparse --non-sparse
---non-sparse --sparse
-
---files ' --directories --both'
---directories '--files --both'
---both '--files --directories '
-
---mirror --mirror-from
---mirror-from --mirror
-
---no-cached --cached-tags
---cached-tags --no-cached
-
---non-greedy --greedy
---greedy --non-greedy
-)
-
-_tla_main () {
- typeset -A opt_args
- local arguments
- if (( CURRENT > 2 )); then
- local cmd=${words[2]}
- local var_cmd=cmd_${cmd//-/_}
- curcontext="${curcontext%:*:*}:tla-$cmd:"
- (( CURRENT-- ))
- shift words
-
- arguments=()
- local input
- input=(${${(M)${(f)"$($TLA $cmd -h)"}:# *}# })
-
- local i j=1
- local short long arg desc action
- short=()
- long=()
- arg=()
- desc=()
- action=()
- for (( i=1 ; i <= ${#input} ; i++ )); do
- [[ "$input[i]" != *[^\ ]* ]] && continue # stupid blank lines
- short[j]="${${${input[i]}[1,2]}#--}"
- long[j]="${${input[i]#-?, }%% *}"
-
- arg[j]="${${${input[i]%% *}##* }##-*}"
- [[ $long[j] == --archive ]] && arg[j]=ARCHIVE # tla doesn't mention this
-
- desc[j]="${input[i]##* }"
- if [[ "$input[i+1]" == \ *[^\ ]* ]]; then # description continues
- (( i++ ))
- desc[j]="$desc[j] ${input[i]##* }"
- fi
- [[ "$short[j]" == -[hHV] ]] && continue
- desc[j]="${${desc[j]//\[/\\[}//\]/\\]}" # escape brackets
-
- case $arg[j] in
- DIR|PATCH-DIR|DEST|OUTPUT|PATH)
- action[j]='_files -/' ;;
- FILES|FILE|SNAP-FILE)
- action[j]='_files' ;;
- MASTER|MASTER-SOURCE|ARCHIVE)
- action[j]='_tla_archives' ;;
- CATEGORY)
- action[j]='_tla_categories' ;;
- BRANCH)
- action[j]='_tla_branches' ;;
- VERSION)
- action[j]='_tla_versions' ;;
- CFG)
- action[j]='_tla_configs' ;;
- LIB)
- action[j]='_tla_libraries' ;;
-# PATCH,FILE) # not sure how to complete this
-# action[j]='_tla_patch_file' ;;
- *)
- action[j]='' ;;
- esac
-
- (( j++ ))
-
- done
-
- local excluded k
- for (( i = 1 ; i < j ; i++ )); do
- excluded=($short[i] $long[i])
- foreach opt (${=excludes[$long[i]]})
- k=$long[(i)$opt]
- excluded=($excluded $short[k] $long[k])
- #excludes matching short options too :-)
- end
-
-
- # generate arguments to _arguments ;-)
- # make long and short options mutually exclusive
- [ $short[i] ] && arguments=("$arguments[@]"
- "${hide_short}(${excluded})${short[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}")
- [ $long[i] ] && arguments=("$arguments[@]"
- "(${excluded})${long[i]}[${desc[i]}]${arg[i]:+:$arg[i]:$action[i]}")
- done
-
- arguments=("$arguments[@]" "${(@P)var_cmd-*:FILE:_files}")
- else
- local help
- local -U cmds
- help=(${(f)"$($TLA help)"})
- cmds=(${${${${(M)help:#* :*}/ #: #/:}%% ##}## #})
- arguments=(':command:(($cmds))')
- fi
- _arguments -S -A '-*' \
- {"${hide_short}(: -)-V",'(: -)--version'}'[display version]' \
- {"${hide_short}(: -)-h",'(: -)--help'}'[display help]' \
- '(: -)-H[display verbose help]' \
- "$arguments[@]"
-}
-
-_tla_main "$@"