#compdef fossil # Origin: https://chiselapp.com/user/lifepillar/repository/fossil-zsh-completion ################################################################################# # # # Copyright 2020 Lifepillar # # # # Permission is hereby granted, free of charge, to any person obtaining a copy # # of this software and associated documentation files (the "Software"), to deal # # in the Software without restriction, including without limitation the rights # # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # # copies of the Software, and to permit persons to whom the Software is # # furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included in # # all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # # SOFTWARE. # # # ################################################################################# # To reload the completion function after it has been modified: # # $ unfunction _fossil # $ autoload -U _fossil # # See also: http://zsh.sourceforge.net/Doc/Release/Completion-System.html # See also: https://github.com/zsh-users/zsh-completions/blob/master/zsh-completions-howto.org ################################################################################ # Functions that help build this completion file # ################################################################################ # This function can be used to generate scaffolding code for the options of all # the commands. Copy and paste the result at the suitable spot in this script # to update it. To parse all commands: # # __fossil_parse_help -a # # To parse all test commands: # # __fossil_parse_help -t # # NOTE: The code must be adapted manually. Diff with previous version! function __fossil_parse_help() { echo ' case "$words[1]" in' for c in `fossil help $1 | xargs -n1 | sort`; do echo " ($c)" echo ' _arguments \\' __fossil_format_options $c; echo " '(- *)'--help'[Show help and exit]' \\" echo " '*:files:_files'" echo '' echo ' ;;' done; echo ' esac' echo ' ;;' } # Extract the options of a command and format it in a way that can be used in # a ZSH completion script. # Use `__fossil_format_options -o` to extract the common options. function __fossil_format_options() { fossil help $1 2>&1 \ | grep '^\s\{1,3\}-' \ | sed -E 's/^ +//' \ | awk -F ' +' '{ v=match($1,/\|/) split($1,y,"|") printf " " if (v>0) printf "\"(--help %s %s)\"{%s,%s}",y[1],y[2],y[1],y[2]; else printf "\"(--help %s)\"%s",y[1],y[1]; $1="" gsub(/^ +| +$/,"",$0); gsub(/^ +| +$/,"",$0); gsub(/\x27/,"\x27\"\x27\"\x27",$0); print "\x27["$0"]\x27 \\"; }' } ################################################################################ # Helper functions used for completion. # ################################################################################ function __fossil_commands() { fossil help --all } function __fossil_test_commands() { fossil help --test } function __fossil_all_commands() { __fossil_commands __fossil_test_commands } function __fossil_users() { fossil user ls 2>/dev/null | awk '{print $1}' } function __fossil_branches() { fossil branch ls -a 2>/dev/null | sed 's/\* *//' } function __fossil_tags() { fossil tag ls 2>/dev/null } function __fossil_repos() { ls | grep .fossil fossil all ls 2>/dev/null } function __fossil_remotes() { fossil remote list 2>/dev/null | awk '{print $1}' } function __fossil_wiki_pages() { fossil wiki list 2>/dev/null } function __fossil_areas() { compadd all email project shun skin ticket user alias subscriber return 0 } function __fossil_settings() { fossil help --setting } function __fossil_urls() { local u u=($(__fossil_remotes)) compadd -a u compadd -S '' file:// http:// https:// ssh:// return 0 } ################################################################################ # Main # ################################################################################ function _fossil() { local context state state_descr line typeset -A opt_args local -a _common_options # Scaffolding code for common options can be generated with `__fossil_format_options -o`. _common_options=( "(--help --args)"--args'[FILENAME Read additional arguments and options from FILENAME]:file:_files' "(--help --cgitrace)"--cgitrace'[Active CGI tracing]' "(--help --comfmtflags --comment-format)"--comfmtflags'[VALUE Set comment formatting flags to VALUE]:value:' "(--help --comment-format --comfmtflags)"--comment-format'[VALUE Alias for --comfmtflags]:value:' "(--help --errorlog)"--errorlog'[FILENAME Log errors to FILENAME]:file:_files' "(- -? --help)"{-?,--help}'[Show help on the command rather than running it]' "(--help --httptrace)"--httptrace'[Trace outbound HTTP requests]' "(--help --localtime)"--localtime'[Display times using the local timezone]' "(--help --no-th-hook)"--no-th-hook'[Do not run TH1 hooks]' "(--help --quiet)"--quiet'[Reduce the amount of output]' "(--help --sqlstats)"--sqlstats'[Show SQL usage statistics when done]' "(--help --sqltrace)"--sqltrace'[Trace all SQL commands]' "(--help --sshtrace)"--sshtrace'[Trace SSH activity]' "(--help --ssl-identity)"--ssl-identity'[NAME Set the SSL identity to NAME]:name:' "(--help --systemtrace)"--systemtrace'[Trace calls to system()]' "(--help --user -U)"{--user,-U}'[USER Make the default user be USER]:user:($(__fossil_users))' "(--help --utc)"--utc'[Display times using UTC]' "(--help --vfs)"--vfs'[NAME Cause SQLite to use the NAME VFS]:name:' ) local -a _fossil_clean_options _fossil_clean_options=( "(--help --allckouts)"--allckouts'[Check for empty directories within any checkouts]' "(--help --case-sensitive)"--case-sensitive'[BOOL Override case-sensitive setting]:bool:(yes no)' "(--help --dirsonly)"--dirsonly'[Only remove empty directories]' "(--help --disable-undo)"--disable-undo'[Disables use of the undo]' "(--help --dotfiles)"--dotfiles'[Include files beginning with a dot (".")]' "(--help --emptydirs)"--emptydirs'[Remove empty directories]' "(--help -f --force)"{-f,--force}'[Remove files without prompting]' "(--help -i --prompt)"{-i,--prompt}'[Prompt before removing each file]' "(--help -x --verily)"{-x,--verily}'[Remove everything that is not managed]' "(--help --clean)"--clean'[CSG Never prompt to delete files matching CSG glob pattern]:pattern:' "(--help --ignore)"--ignore'[CSG Ignore files matching CSG glob pattern]:pattern:' "(--help --keep)"--keep'[CSG Keep files matching CSG glob pattern]:pattern:' "(--help -n --dry-run)"{-n,--dry-run}'[Delete nothing, but display what would have been deleted]' "(--help --no-prompt)"--no-prompt'[Assume NO for every question]' "(--help --temp)"--temp'[Remove only Fossil-generated temporary files]' "(--help -v --verbose)"{-v,--verbose}'[Show all files as they are removed]' ) local -a _fossil_rebuild_options _fossil_rebuild_options=( "(--help --analyze)"--analyze'[Run ANALYZE on the database after rebuilding]' "(--help --cluster)"--cluster'[Compute clusters for unclustered artifacts]' "(--help --compress)"--compress'[Strive to make the database as small as possible]' "(--help --compress-only)"--compress-only'[Skip the rebuilding step. Do --compress only]' "(--help --deanalyze)"--deanalyze'[Remove ANALYZE tables from the database]' "(--help --ifneeded)"--ifneeded'[Only do the rebuild if it would change the schema version]' "(--help --index)"--index'[Always add in the full-text search index]' "(--help --noverify)"--noverify'[Skip the verification of changes to the BLOB table]' "(--help --noindex)"--noindex'[Always omit the full-text search index]' "(--help --pagesize)"--pagesize'[N Set the database pagesize to N. (512..65536 and power of 2)]:number:' "(--help --quiet)"--quiet'[Only show output if there are errors]' "(--help --stats)"--stats'[Show artifact statistics after rebuilding]' "(--help --vacuum)"--vacuum'[Run VACUUM on the database after rebuilding]' "(--help --wal)"--wal'[Set Write-Ahead-Log journalling mode on the database]' ) local -a _fossil_dbstat_options _fossil_dbstat_options=( "(--help --brief -b)"{--brief,-b}'[Only show essential elements]' "(--help --db-check)"--db-check'[Run "PRAGMA quick_check" on the repository database]' "(--help --db-verify)"--db-verify'[Run a full verification of the repository integrity]' "(--help --omit-version-info)"--omit-version-info'[Omit the SQLite and Fossil version information]' ) local -a _fossil_diff_options _fossil_diff_options=( "(--help --binary)"--binary'[PATTERN Treat files that match the glob PATTERN as binary]:pattern:' "(--help --branch)"--branch'[BRANCH Show diff of all changes on BRANCH]:branch:($(__fossil_branches))' "(--help --brief)"--brief'[Show filenames only]' "(--help --checkin)"--checkin'[VERSION Show diff of all changes in VERSION]:version:' "(--help --command)"--command'[PROG External diff program - overrides "diff-command"]:program:' "(--help --context -c)"{--context,-c}'[N Use N lines of context]:number:' "(--help --diff-binary)"--diff-binary'[BOOL Include binary files when using external commands]:bool:(yes no)' "(--help --exec-abs-paths)"--exec-abs-paths'[Force absolute path names with external commands]' "(--help --exec-rel-paths)"--exec-rel-paths'[Force relative path names with external commands]' "(--help --from -r)"{--from,-r}'[VERSION Select VERSION as source for the diff]:version:' "(--help --internal -i)"{--internal,-i}'[Use internal diff logic]' "(--help --new-file -N)"{--new-file,-N}'[Show complete text of added and deleted files]' "(--help --numstat)"--numstat'[Show only the number of lines delete and added]' "(--help --side-by-side -y)"{--side-by-side,-y}'[Side-by-side diff]' "(--help --strip-trailing-cr)"--strip-trailing-cr'[Strip trailing CR]' "(--help --tclsh)"--tclsh'[PATH Tcl/Tk used for --tk (default: "tclsh")]' "(--help --tk)"--tk'[Launch a Tcl/Tk GUI for display]' "(--help --to)"--to'[VERSION Select VERSION as target for the diff]:version:' "(--help --undo)"--undo'[Diff against the "undo" buffer]' "(--help --unified)"--unified'[Unified diff]' "(--help -v --verbose)"{-v,--verbose}'[Output complete text of added or deleted files]' "(--help -w --ignore-all-space)"{-w,--ignore-all-space}'[Ignore white space when comparing lines]' "(--help -W --width)"{-W,--width}'[NUM Width of lines in side-by-side diff]:number:' "(--help -Z --ignore-trailing-space)"{-Z,--ignore-trailing-space}'[Ignore changes to end-of-line whitespace]' ) local -a _fossil_extras_options _fossil_extras_options=( "(--help --abs-paths)"--abs-paths'[Display absolute pathnames]' "(--help --case-sensitive)"--case-sensitive'[BOOL Override case-sensitive setting]:bool:(yes no)' "(--help --dotfiles)"--dotfiles'[Include files beginning with a dot (".")]' "(--help --header)"--header'[Identify the repository if there are extras]' "(--help --ignore)"--ignore'[CSG Ignore files matching patterns from the argument]:pattern:' "(--help --rel-paths)"--rel-paths'[Display pathnames relative to the current working]' ) local -a _fossil_server_options _fossil_server_options=( "(--help --baseurl)"--baseurl'[URL Use URL as the base]:url:__fossil_urls' "(--help --create)"--create'[Create a new REPOSITORY if it does not already exist]' "(--help --extroot)"--extroot'[DIR Document root for the /ext extension mechanism]:directory:_files -/' "(--help --files)"--files'[GLOBLIST Comma-separated list of glob patterns for static files]:pattern:' "(--help --localauth)"--localauth'[Enable automatic login for requests from localhost]' "(--help --localhost)"--localhost'[Listen on 126.0.0.1 only]' "(--help --https)"--https'[Input passes through a reverse HTTPS->HTTP proxy]' "(--help --jsmode)"--jsmode'[MODE Determine how JavaScript is delivered with pages]:mode:(inline separate bundled)' "(--help --max-latency)"--max-latency'[N Do not let any single HTTP request run for more than N seconds]:number:' "(--help --nocompress)"--nocompress'[Do not compress HTTP replies]' "(--help --nojail)"--nojail'[Drop root privileges but do not enter the chroot jail]' "(--help --nossl)"--nossl'[Signal that no SSL connections are available]' "(--help --notfound)"--notfound'[URL Redirect]:url:__fossil_urls' "(--help --page)"--page'[PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci"]:number:' "(--help -P --port)"{-P,--port}'[TCPPORT Listen to request on port TCPPORT]:number:' "(--help --th-trace)"--th-trace'[Trace TH0 execution (for debugging purposes)]' "(--help --repolist)"--repolist'[If REPOSITORY is dir, URL "/" lists repos]' "(--help --scgi)"--scgi'[Accept SCGI rather than HTTP]' "(--help --skin)"--skin'[LABEL Use override skin LABEL]:label:' "(--help --usepidkey)"--usepidkey'[Use saved encryption key from parent process]' ) _arguments -C \ ${_common_options[@]} \ '1:command:->command' \ '*::args:->args' case $state in (command) if [[ $line =~ '^te' ]]; then _arguments '*:test commands:($(__fossil_test_commands))' else _arguments '*:commands:($(__fossil_commands))' fi ;; (args) if [[ $line[1] =~ '^test-' ]]; then __fossil_complete_test_commands return 0 fi case $line[1] in (3-way-merge) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (add) _arguments \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override the case-sensitive setting]:bool:(yes no)' \ "(--help --dotfiles)"--dotfiles'[include files beginning with a dot (".")]' \ "(--help -f --force)"{-f,--force}'[Add files without prompting]' \ "(--help --ignore)"--ignore'[CSG Ignore unmanaged files matching Comma Separated Glob]:pattern:' \ "(--help --clean)"--clean'[CSG Also ignore files matching Comma Separated Glob]:pattern:' \ "(--help --reset)"--reset'[Reset the ADDED state of a checkout]' \ "(--help -v --verbose)"{-v,--verbose}'[Outputs information about each --reset file]' \ "(--help -n --dry-run)"{-n,--dry-run}'[Display instead of run actions]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (addremove) _arguments \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override the case-sensitive setting]:bool:(yes no)' \ "(--help --dotfiles)"--dotfiles'[Include files beginning with a dot (".")]' \ "(--help --ignore)"--ignore'[CSG Ignore unmanaged files matching Comma Separated Glob]:pattern:' \ "(--help --clean)"--clean'[CSG Also ignore files matching Comma Separated Glob]:pattern:' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ "(--help --reset)"--reset'[Reset the ADDED/DELETED state of a checkout]' \ "(--help --verbose -v)"{--verbose,-v}'[Outputs information about each --reset file]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (alerts) __fossil_alerts ;; (all) __fossil_all ;; (amend) _arguments \ ':hash:' \ "(--help --author)"--author'[USER Make USER the author for check-in]:user:($(__fossil_users))' \ "(--help -m --comment)"{-m,--comment}'[COMMENT Make COMMENT the check-in comment]:comment:' \ "(--help -M --message-file)"{-M,--message-file}'[FILE Read the amended comment from FILE]:file:_files' \ "(--help -e --edit-comment)"{-e,--edit-comment}'[Launch editor to revise comment]' \ "(--help --date)"--date'[DATETIME Make DATETIME the check-in time]:datetime:(now)' \ "(--help --bgcolor)"--bgcolor'[COLOR Apply COLOR to this check-in]:color:' \ "(--help --branchcolor)"--branchcolor'[COLOR Apply and propagate COLOR to the branch]:color:' \ "(--help --tag)"--tag'[TAG Add new TAG to this check-in]:tag:($(__fossil_tags))' \ "(--help --cancel)"--cancel'[TAG Cancel TAG from this check-in]:tag:($(__fossil_tags))' \ "(--help --branch)"--branch'[NAME Make this check-in the start of branch NAME]:name:($(__fossil_branches))' \ "(--help --hide)"--hide'[Hide branch starting from this check-in]' \ "(--help --close)"--close'[Mark this "leaf" as closed]' \ "(--help -n --dry-run)"{-n,--dry-run}'[Print control artifact, but make no changes]' \ "(--help --date-override)"--date-override'[DATETIME Set the change time on the control artifact]:datetime:(now)' \ "(--help --user-override)"--user-override'[USER Set the user name on the control artifact]:user:($(__fossil_users))' \ '(- *)'--help'[Show help and exit]' ;; (annotate|blame|praise) _arguments \ "(--help --filevers)"--filevers'[Show file version numbers]' \ "(--help -r --revision)"{-r,--revision}'[VERSION The specific check-in containing the file]:version:' \ "(--help -l --log)"{-l,--log}'[List all versions analyzed]' \ "(--help -n --limit)"{-n,--limit}'[LIMIT Limit versions]:limit:(none)' \ "(--help -o --origin)"{-o,--origin}'[VERSION The origin check-in]:version:' \ "(--help -w --ignore-all-space)"{-w,--ignore-all-space}'[Ignore white space when comparing lines]' \ "(--help -Z --ignore-trailing-space)"{-Z,--ignore-trailing-space}'[Ignore whitespace at line end]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (artifact) _arguments \ "(--help -R --repository)"{-R,--repository}'[FILE Extract artifacts from repository FILE]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '1:artifact id:' \ '2::output file:_files' ;; (attachment) _arguments \ "(--help -t --technote)"{-t,--technote}'[DATETIME The timestamp of the technote]:datetime:(now)' \ "(--help -t --technote)"{-t,--technote}'[TECHNOTE-ID The technote to be updated]:technote-id:' \ '(- *)'--help'[Show help and exit]' \ '1:what:(add)' \ '::pagename:($(__fossil_wiki_pages))' \ ':file:_files' ;; (backoffice) _arguments \ "(--help --debug)"--debug'[Show what this command is doing]' \ "(--help --logfile)"--logfile'[FILE Append a log of backoffice actions onto FILE]:file:_files' \ "(--help --min)"--min'[N Invoke backoffice at least once every N seconds]:number:' \ "(--help --poll)"--poll'[N Polling frequency]:number:' \ "(--help --trace)"--trace'[Enable debugging output on stderr]' \ "(--help --nodelay)"--nodelay'[Do not queue up or wait for a backoffice job]' \ "(--help --nolease)"--nolease'[Always run backoffice]' \ '(- *)'--help'[Show help and exit]' \ '*:fossils:($(__fossil_repos))' ;; (backup) _arguments \ "(--help --overwrite)"--overwrite'[OK to overwrite an existing file]' \ "(--help -R)"-R'[NAME Filename of the repository to backup]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (bisect) __fossil_bisect ;; (branch) __fossil_branch ;; (bundle) __fossil_bundle ;; (cache) __fossil_cache ;; (cat) _arguments \ "(--help -R --repository)"{-R,--repository}'[FILE Extract artifacts from repository FILE]:fossils:($(__fossil_repos))' \ "(--help -r)"-r'[VERSION The specific check-in containing the file]:version:' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (cgi) _arguments \ '(- *)'--help'[Show help and exit]' \ '::cgi:' \ ':file:_files' ;; (changes|status) _arguments \ "(--help --abs-paths)"--abs-paths'[Display absolute pathnames]' \ "(--help --rel-paths)"--rel-paths'[Display pathnames relative to the current directory]' \ "(--help --hash)"--hash'[Verify file status using hashing]' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override case-sensitive setting]:bool:(yes no)' \ "(--help --dotfiles)"--dotfiles'[Include unmanaged files beginning with a dot]' \ "(--help --ignore)"--ignore'[CSG Ignore unmanaged files matching CSG glob patterns]:pattern:' \ "(--help --header)"--header'[Identify the repository if report is non-empty.]' \ "(--help -v --verbose)"{-v,--verbose}'[Say "(none)" if the change report is empty]' \ "(--help --classify)"--classify'[Start each line with the file'"'"'s change type]' \ "(--help --no-classify)"--no-classify'[Do not print file change types]' \ "(--help --edited)"--edited'[Display edited, merged, and conflicted files]' \ "(--help --updated)"--updated'[Display files updated by merge/integrate]' \ "(--help --changed)"--changed'[Combination of --edited and --updated]' \ "(--help --missing)"--missing'[Display missing files]' \ "(--help --added)"--added'[Display added files]' \ "(--help --deleted)"--deleted'[Display deleted files]' \ "(--help --renamed)"--renamed'[Display renamed files]' \ "(--help --conflict)"--conflict'[Display files having merge conflicts]' \ "(--help --meta)"--meta'[Display files with metadata changes]' \ "(--help --unchanged)"--unchanged'[Display unchanged files]' \ "(--help --all)"--all'[Display all managed files]' \ "(--help --extra)"--extra'[Display unmanaged files]' \ "(--help --differ)"--differ'[Display modified and extra files]' \ "(--help --merge)"--merge'[Display merge contributors]' \ "(--help --no-merge)"--no-merge'[Do not display merge contributors]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (checkout|co) _arguments \ "(--help --force)"--force'[Ignore edited files in the current checkout]' \ "(--help --keep)"--keep'[Only update the manifest and manifest.uuid files]' \ "(--help --force-missing)"--force-missing'[Force checkout even if content is missing]' \ "(--help --setmtime)"--setmtime'[Set timestamps of all files to match their SCM-side]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (ci|commit) _arguments \ "(--help --allow-conflict)"--allow-conflict'[Allow unresolved merge conflicts]' \ "(--help --allow-empty)"--allow-empty'[Allow a commit with no changes]' \ "(--help --allow-fork)"--allow-fork'[Allow the commit to fork]' \ "(--help --allow-older)"--allow-older'[Allow a commit older than its ancestor]' \ "(--help --baseline)"--baseline'[Use a baseline manifest in the commit process]' \ "(--help --bgcolor)"--bgcolor'[COLOR Apply COLOR to this one check-in only]:color:' \ "(--help --branch)"--branch'[NEW-BRANCH-NAME check in to this new branch]:new branch:' \ "(--help --branchcolor)"--branchcolor'[COLOR Apply given COLOR to the branch]:color:' \ "(--help --close)"--close'[Close the branch being committed]' \ "(--help --date-override)"--date-override'[DATETIME DATE to use instead of '"'"'now'"'"']:datetime:' \ "(--help --delta)"--delta'[Use a delta manifest in the commit process]' \ "(--help --hash)"--hash'[Verify file status using hashing]' \ "(--help --integrate)"--integrate'[Close all merged-in branches]' \ "(--help -m --comment)"{-m,--comment}'[COMMENT Use COMMENT as commit comment]:comment:' \ "(--help -M --message-file)"{-M,--message-file}'[FILE Read the commit comment from given file]:file:_files' \ "(--help --mimetype)"--mimetype'[MIMETYPE Mimetype of check-in comment]:mimetype:' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ "(--help --no-prompt)"--no-prompt'[Assume NO for every question]' \ "(--help --no-warnings)"--no-warnings'[Omit all warnings about file contents]' \ "(--help --no-verify)"--no-verify'[Do not run before-commit hooks]' \ "(--help --nosign)"--nosign'[Do not attempt to sign this commit with gpg]' \ "(--help --override-lock)"--override-lock'[Allow a check-in even though parent is locked]' \ "(--help --private)"--private'[Do not sync changes and their descendants]' \ "(--help --tag)"--tag'[TAG-NAME Assign given tag TAG-NAME to the check-in]:tag:($(__fossil_tags))' \ "(--help --trace)"--trace'[Debug tracing]' \ "(--help --user-override)"--user-override'[USER Use USER instead of the current default]:user:($(__fossil_users))' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (clean) _arguments \ ${_fossil_clean_options[@]} \ '*:files:_files' ;; (clone) _arguments \ "(--help --admin-user -A)"{--admin-user,-A}'[USERNAME Make USERNAME the administrator]:user:($(__fossil_users))' \ "(--help --httpauth -B)"{--httpauth,-B}'[USER:PASS Add HTTP Basic Authorization to requests]:user pass:' \ "(--help --nocompress)"--nocompress'[Omit extra delta compression]' \ "(--help --once)"--once'[Don'"'"'t remember the URI]' \ "(--help --private)"--private'[Also clone private branches]' \ "(--help --save-http-password)"--save-http-password'[Remember the HTTP password without asking]' \ "(--help --ssh-command -c)"{--ssh-command,-c}'[SSH Use SSH as the "ssh" command]:ssh command:' \ "(--help --ssl-identity)"--ssl-identity'[FILENAME Use the SSL identity if requested by the server]:file:_files' \ "(--help -u --unversioned)"{-u,--unversioned}'[Also sync unversioned content]' \ "(--help -v --verbose)"{-v,--verbose}'[Show more statistics in output]' \ '(- *)'--help'[Show help and exit]' \ '1:uri:__fossil_urls' \ '2:file:_files' ;; (close) _arguments \ "(--help --force -f)"{--force,-f}'[Close a check out with uncommitted changes]' \ '(- *)'--help'[Show help and exit]' ;; (configuration) __fossil_configuration ;; (dbstat) _arguments \ ${_fossil_dbstat_options[@]} \ '(- *)'--help'[Show help and exit]' ;; (deconstruct) _arguments \ "(--help -R --repository)"{-R,--repository}'[REPOSITORY Deconstruct given REPOSITORY]:fossils:($(__fossil_repos))' \ "(--help -K --keep-rid1)"{-K,--keep-rid1}'[Save the filename of the artifact with RID=1]' \ "(--help -L --prefixlength)"{-L,--prefixlength}'[N Set the length of the names of the DESTINATION]:number:' \ "(--help --private)"--private'[Include private artifacts]' \ "(--help -P --keep-private)"{-P,--keep-private}'[Save the list of private artifacts to .private]' \ '(- *)'--help'[Show help and exit]' \ '1:destination:_files -/' ;; (delete|forget|rm) _arguments \ "(--help --soft)"--soft'[Skip removing files from the checkout]' \ "(--help --hard)"--hard'[Remove files from the checkout]' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override the case-sensitive setting]:bool:(yes no)' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ "(--help --reset)"--reset'[Reset the DELETED state of a checkout]' \ "(--help --verbose -v)"{--verbose,-v}'[Outputs information about each --reset file]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (descendants) _arguments \ "(--help -R --repository)"{-R,--repository}'[FILE Extract info from repository FILE]:fossils:($(__fossil_repos))' \ "(--help -W --width)"{-W,--width}'[NUM Width of lines]:number:' \ '(- *)'--help'[Show help and exit]' \ '1::check-in:' ;; (diff|gdiff) _arguments \ ${_fossil_diff_options[@]} \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (export) _arguments \ '(- *)'--help'[Show help and exit]' ;; (extras) _arguments \ ${_fossil_extras_options[@]} \ '(- *)'--help'[Show help and exit]' \ '*:files:_files -/' ;; (finfo) _arguments \ "(--help -b --brief)"{-b,--brief}'[Display a brief (one line / revision) summary]' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Enable or disable case-sensitive filenames]:bool:(yes no)' \ "(--help -l --log)"{-l,--log}'[Select log mode (the default)]' \ "(--help -n --limit)"{-n,--limit}'[N Display only the first N changes]:number:' \ "(--help --offset)"--offset'[P Skip P changes]:number:' \ "(--help -p --print)"{-p,--print}'[Select print mode]' \ "(--help -r --revision)"{-r,--revision}'[R Print the given revision]:version:' \ "(--help -s --status)"{-s,--status}'[Select status mode (print a status indicator for FILE)]' \ "(--help -W --width)"{-W,--width}'[NUM Width of lines]:number:' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (fts-config) __fossil_fts_config ;; (git) __fossil_git ;; (grep) _arguments \ "(--help -c --count)"{-c,--count}'[Suppress normal output; print count of files]' \ "(--help -i --ignore-case)"{-i,--ignore-case}'[Ignore case]' \ "(--help -l --files-with-matches)"{-l,--files-with-matches}'[List only hash for each match]' \ "(--help --once)"--once'[Stop searching after the first match]' \ "(--help -s --no-messages)"{-s,--no-messages}'[Suppress error messages]' \ "(--help -v --invert-match)"{-v,--invert-match}'[Invert the sense of matching]' \ "(--help --verbose)"--verbose'[Show each file as it is analyzed]' \ '(- *)'--help'[Show help and exit]' \ '1:pattern:' \ '*:files:_files' ;; (hash-policy) _arguments \ '(- *)'--help'[Show help and exit]' \ '1::policy:(sha1 auto sha3 sha3-only shun-sha1)' ;; (help) _arguments \ "(- :)"{-a,--all}'[List both common and auxiliary commands]' \ "(- :)"{-o,--options}'[List command-line options common to all commands]' \ "(- :)"{-s,--setting}'[List setting names]' \ "(- :)"{-t,--test}'[List unsupported "test" commands]' \ "(- :)"{-x,--aux}'[List only auxiliary commands]' \ "(- :)"{-w,--www}'[List all web pages]' \ "(- :):all commands:($(__fossil_all_commands))" \ "(- *)"--html'[Format output as HTML rather than plain text]' ;; (hook) __fossil_hook ;; (http) _arguments \ "(--help --baseurl)"--baseurl'[URL Base URL (useful with reverse proxies)]:url:__fossil_urls' \ "(--help --extroot)"--extroot'[DIR Document root for the /ext extension mechanism]:file:_files -/' \ "(--help --files)"--files'[GLOB Comma-separate glob patterns for static file to serve]:pattern:' \ "(--help --host)"--host'[NAME Specify hostname of the server]:name:' \ "(--help --https)"--https'[Signal a request coming in via https]' \ "(--help --in)"--in'[FILE Take input from FILE instead of standard input]:file:_files' \ "(--help --ipaddr)"--ipaddr'[ADDR Assume the request comes from the given IP address]:address:' \ "(--help --jsmode)"--jsmode'[MODE Determine how JavaScript is delivered with pages]:mode:(inline separate bundled)' \ "(--help --localauth)"--localauth'[Enable automatic login for local connections]' \ "(--help --nocompress)"--nocompress'[Do not compress HTTP replies]' \ "(--help --nodelay)"--nodelay'[Omit backoffice processing if it would delay process exit]' \ "(--help --nojail)"--nojail'[Drop root privilege but do not enter the chroot jail]' \ "(--help --nossl)"--nossl'[Signal that no SSL connections are available]' \ "(--help --notfound)"--notfound'[URL Use URL as "HTTP 404, object not found" page]:url:__fossil_urls' \ "(--help --out)"--out'[FILE Write results to FILE instead of to standard output]:file:_files' \ "(--help --repolist)"--repolist'[If REPOSITORY is directory, URL "/" lists all repos]' \ "(--help --scgi)"--scgi'[Interpret input as SCGI rather than HTTP]' \ "(--help --skin)"--skin'[LABEL Use override skin LABEL]:label:' \ "(--help --th-trace)"--th-trace'[Trace TH1 execution (for debugging purposes)]' \ "(--help --usepidkey)"--usepidkey'[Use saved encryption key from parent process]' \ '(- *)'--help'[Show help and exit]' \ '1::fossils:_files' ;; (import) _arguments \ "(--help --git)"--git'[Import from the git-fast-export file format (default)]' \ "(--help --import-marks)"--import-marks'[FILE Restore marks table from FILE]:file:_files' \ "(--help --export-marks)"--export-marks'[FILE Save marks table to FILE]:files:_files' \ "(--help --rename-master)"--rename-master'[NAME Renames the master branch to NAME]:name:' \ "(--help --use-author)"--use-author'[Uses author as the committer]:user:($(__fossil_users))' \ "(--help --svn)"--svn'[Import from the svnadmin-dump file format]' \ "(--help --trunk)"--trunk'[FOLDER Name of trunk folder]:file:_files -/' \ "(--help --branches)"--branches'[FOLDER Name of branches folder]:file:_files -/' \ "(--help --tags)"--tags'[FOLDER Name of tags folder]:file:_files -/' \ "(--help --base)"--base'[PATH Path to project root in repository]:file:_files' \ "(--help --flat)"--flat'[The whole dump is a single branch]' \ "(--help --rev-tags)"--rev-tags'[Tag each revision, implied by -i]' \ "(--help --no-rev-tags)"--no-rev-tags'[Disables tagging effect of -i]' \ "(--help --rename-rev)"--rename-rev'[PAT Rev tag names, default "svn-rev-%"]:pattern:' \ "(--help --ignore-tree)"--ignore-tree'[DIR Ignores subtree rooted at DIR]:file:_files -/' \ "(--help -i --incremental)"{-i,--incremental}'[Allow importing into an existing repository]' \ "(--help -f --force)"{-f,--force}'[Overwrite repository if already exists]' \ "(--help -q --quiet)"{-q,--quiet}'[Omit progress output]' \ "(--help --no-rebuild)"--no-rebuild'[Skip the "rebuilding metadata" step]' \ "(--help --no-vacuum)"--no-vacuum'[Skip the final VACUUM of the database file]' \ "(--help --rename-trunk)"--rename-trunk'[NAME use NAME as name of imported trunk branch]:name:' \ "(--help --rename-branch)"--rename-branch'[PAT Rename all branch names using PAT pattern]:pattern:' \ "(--help --rename-tag)"--rename-tag'[PAT Rename all tag names using PAT pattern]:pattern:' \ "(--help --admin-user -A)"{--admin-user,-A}'[NAME Use NAME for the admin user]:user:($(__fossil_users))' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (info) _arguments \ "(--help -R --repository)"{-R,--repository}'[FILE Extract info from repository FILE]:fossils:($(__fossil_repos))' \ "(--help -v --verbose)"{-v,--verbose}'[Show extra information about repositories]' \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' ;; (init|new) _arguments \ "(--help --template)"--template'[FILE Copy settings from repository file]:file:_files' \ "(--help --admin-user -A)"{--admin-user,-A}'[USERNAME Select given USERNAME as admin user]:user:($(__fossil_users))' \ "(--help --date-override)"--date-override'[DATETIME Use DATETIME as time of the initial check-in]:datetime:(now)' \ "(--help --sha1)"--sha1'[Use an initial hash policy of "sha1"]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (json) __fossil_json ;; (leaves) _arguments \ "(--help -a --all)"{-a,--all}'[Show ALL leaves]' \ "(--help --bybranch)"--bybranch'[Order output by branch name]' \ "(--help -c --closed)"{-c,--closed}'[Show only closed leaves]' \ "(--help -m --multiple)"{-m,--multiple}'[Show only cases with multiple leaves on a single branch]' \ "(--help --recompute)"--recompute'[Recompute the "leaf" table in the repository DB]' \ "(--help -W --width)"{-W,--width}'[NUM Width of lines (default is to auto-detect)]:number:' \ '(- *)'--help'[Show help and exit]' ;; (login-group) __fossil_login_group ;; (ls) _arguments \ "(--help --age)"--age'[Show when each file was committed]' \ "(--help -v --verbose)"{-v,--verbose}'[Provide extra information about each file]' \ "(--help -t)"-t'[Sort output in time order]' \ "(--help -r)"-r'[VERSION The specific check-in to list]:version:' \ "(--help -R --repository)"{-R,--repository}'[FILE Extract info from repository FILE]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (md5sum) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (merge) _arguments \ "(--help --backout)"--backout'[Do a reverse cherrypick merge against VERSION]' \ "(--help --baseline)"--baseline'[BASELINE Use BASELINE as the "pivot" of the merge instead]:version:' \ "(--help --binary)"--binary'[GLOBPATTERN Treat files that match GLOBPATTERN as binary]:pattern:' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override the case-sensitive setting]:bool:(yes no)' \ "(--help --cherrypick)"--cherrypick'[Do a cherrypick merge VERSION into the current checkout]' \ "(--help -f --force)"{-f,--force}'[Force the merge even if it would be a no-op]' \ "(--help --force-missing)"--force-missing'[Force the merge even if there is missing content]' \ "(--help --integrate)"--integrate'[Merged branch will be closed when committing]' \ "(--help -K --keep-merge-files)"{-K,--keep-merge-files}'[On merge conflict, retain the temporary files]' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ "(--help -v --verbose)"{-v,--verbose}'[Show additional details of the merge]' \ '(- *)'--help'[Show help and exit]' \ '1:version:' ;; (mv|rename) _arguments \ "(--help --soft)"--soft'[Skip moving files within the checkout]' \ "(--help --hard)"--hard'[Move files within the checkout]' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override the case-sensitive setting]:bool:(yes no)' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (open) _arguments \ "(--help --empty)"--empty'[Initialize checkout as being empty, but still connected]' \ "(--help --force)"--force'[Continue even if the directory is not empty]' \ "(--help --force-missing)"--force-missing'[Force opening a repository with missing content]' \ "(--help --keep)"--keep'[Only modify the manifest and manifest.uuid files]' \ "(--help --nested)"--nested'[Allow opening a repository inside an opened checkout]' \ "(--help --repodir)"--repodir'[DIR Store the clone in DIR]:directory:_files -/' \ "(--help --setmtime)"--setmtime'[Set timestamps of all files to match their SCM-side times]' \ "(--help --workdir)"--workdir'[DIR Use DIR as the working directory]:directory:_files -/' \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' \ '::version:' ;; (pop3d) _arguments \ "(--help --logdir)"--logdir'[DIR Create log files inside DIR]:directory:_files -/' \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' ;; (publish) _arguments \ '(--help --only)'--only'[Publish only the specific artifacts identified by the tags]' \ '(- *)'--help'[Show help and exit]' \ '*:tags:($(__fossil_tags))' ;; (pull) _arguments \ "(--help -B --httpauth)"{-B,--httpauth}'[USER:PASS Credentials for the simple HTTP auth protocol]:user pass:' \ "(--help --from-parent-project)"--from-parent-project'[Pull content from the parent project]' \ "(--help --ipv4)"--ipv4'[Use only IPv4, not IPv6]' \ "(--help --once)"--once'[Do not remember URL for subsequent syncs]' \ "(--help --private)"--private'[Pull private branches too]' \ "(--help --project-code)"--project-code'[CODE Use CODE as the project code]:project code:' \ "(--help --proxy)"--proxy'[PROXY Use the specified HTTP proxy]:proxy:' \ "(--help -R --repository)"{-R,--repository}'[REPO Local repository to pull into]:fossils:($(__fossil_repos))' \ "(--help --ssl-identity)"--ssl-identity'[FILE Local SSL credentials]:ssl credentials:' \ "(--help --ssh-command)"--ssh-command'[SSH Use SSH as the "ssh" command]:ssh command:' \ "(--help -v --verbose)"{-v,--verbose}'[Additional (debugging) output]' \ "(--help --verily)"--verily'[Exchange extra information with the remote]' \ '(- *)'--help'[Show help and exit]' \ '1:url:__fossil_urls' ;; (purge) __fossil_purge ;; (push) _arguments \ "(--help -B --httpauth)"{-B,--httpauth}'[USER:PASS Credentials for the simple HTTP auth protocol]:user pass:' \ "(--help --ipv4)"--ipv4'[Use only IPv4, not IPv6]' \ "(--help --once)"--once'[Do not remember URL for subsequent syncs]' \ "(--help --proxy)"--proxy'[PROXY Use the specified HTTP proxy]' \ "(--help --private)"--private'[Push private branches too]' \ "(--help -R --repository)"{-R,--repository}'[REPO Local repository to push from]:fossils:($(__fossil_repos))' \ "(--help --ssl-identity)"--ssl-identity'[FILE Local SSL credentials]:ssl credentials:' \ "(--help --ssh-command)"--ssh-command'[SSH Use SSH as the "ssh" command]:ssh command:' \ "(--help -v --verbose)"{-v,--verbose}'[Additional (debugging) output]' \ "(--help --verily)"--verily'[Exchange extra information with the remote]' \ '(- *)'--help'[Show help and exit]' \ '1::url:__fossil_urls' ;; (rebuild) _arguments \ ${_fossil_rebuild_options[@]} \ "(--help --force)"--force'[Force the rebuild to complete even if errors are seen]' \ "(--help --randomize)"--randomize'[Scan artifacts in a random order]' \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' ;; (reconstruct) _arguments \ "(--help -K --keep-rid1)"{-K,--keep-rid1}'[Read the filename of the artifact with RID=1 from .rid]' \ "(--help -P --keep-private)"{-P,--keep-private}'[Mark the artifacts listed in .private as private]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:directory:_files -/' ;; (redo|undo) _arguments \ "(--help -n --dry-run)"{-n,--dry-run}'[Do not make changes but show what would be done]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (remote|remote-url) __fossil_remote ;; (reparent) _arguments \ "(--help --test)"--test'[Make database entries but do not add the tag artifact]' \ "(--help -n --dryrun)"{-n,--dryrun}'[Do not actually change the database]' \ "(--help --date-override)"--date-override'[DATETIME Set the change time on the control artifact]:datetime:' \ "(--help --user-override)"--user-override'[USER Set the user name on the control artifact]:user:($(__fossil_users))' \ '(- *)'--help'[Show help and exit]' \ '1:check-in:' \ '*:parents:' ;; (revert) _arguments \ "(--help -r --revision)"{-r,--revision}'[VERSION Revert to given VERSION]:version:' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (rss) _arguments \ "(--help -type -y)"{-type,-y}'[FLAG]:type:(all ci t w)' \ "(--help -limit -n)"{-limit,-n}'[LIMIT The maximum number of items to show]:number:' \ "(--help -tkt)"-tkt'[HASH Filters for only those events for the specified ticket]:hash:' \ "(--help -tag)"-tag'[TAG Filters for a tag]:tag:($(__fossil_tags))' \ "(--help -wiki)"-wiki'[NAME Filters on a specific wiki page]:wiki page:($(__fossil_wiki_pages))' \ "(--help -name)"-name'[FILENAME filters for a specific file]:file:_files' \ "(--help -url)"-url'[STRING Sets the RSS feed'"'"'s root URL to the given string]:url:__fossil_urls' \ '(- *)'--help'[Show help and exit]' ;; (scrub) _arguments \ "(--help --force)"--force'[Do not prompt for confirmation]' \ "(--help --private)"--private'[Only private branches are removed from the repository]' \ "(--help --verily)"--verily'[Scrub real thoroughly (see above)]' \ '(- *)'--help'[Show help and exit]' \ '1::fossils:($(__fossil_repos))' ;; (search) _arguments \ "(--help -a --all)"{-a,--all}'[Output all matches, not just best matches]' \ "(--help -n --limit)"{-n,--limit}'[N Limit output to N matches]:number:' \ "(--help -W --width)"{-W,--width}'[WIDTH Set display width to WIDTH columns]:number:' \ '(- *)'--help'[Show help and exit]' \ '*:patterns:' ;; (server|ui) _arguments \ ${_fossil_server_options[@]} \ '1::fossils:($(__fossil_repos))' ;; (set|settings) _arguments \ "(--global)"--global'[Set or unset the given property globally]' \ "(--exact)"--exact'[Only consider exact name matches]' \ "1:setting:($(__fossil_settings))" \ '2:value:' ;; (sha1sum) _arguments \ "(--help -h --dereference)"{-h,--dereference}'[Resolve symbolic links]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (sha3sum) _arguments \ "(--help --224 --256 --384 --512 --size)"--224'[Compute a SHA3-224 hash]' \ "(--help --256 --224 --384 --512 --size)"--256'[Compute a SHA3-256 hash (the default)]' \ "(--help --384 --224 --256 --512 --size)"--384'[Compute a SHA3-384 hash]' \ "(--help --512 --224 --256 --384 --size)"--512'[Compute a SHA3-512 hash]' \ "(--help --size --224 --256 --384 --512 --size)"--size'[N An N-bit hash]:number:' \ "(--help -h --dereference)"{-h,--dereference}'[Resolve symbolic links]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (shell) _arguments \ '(- *)'--help'[Show help and exit]' ;; (smtpd) _arguments \ "(--help --dryrun)"--dryrun'[Do not record any emails in the database]' \ "(--help --trace)"--trace'[Print a transcript of the conversation on stderr]' \ "(--help --ipaddr)"--ipaddr'[ADDR The SMTP connection originates at ADDR]:address:' \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' ;; (sql|sqlite3) _arguments \ "(--help --no-repository)"--no-repository'[Skip opening the repository database]' \ "(--help --readonly)"--readonly'[Open the repository read-only]' \ "(--help -R)"-R'[REPOSITORY Use REPOSITORY as the repository database]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' ;; (sqlar) _arguments \ "(--help -X --exclude)"{-X,--exclude}'[GLOBLIST Comma-separated list of GLOBs of files to exclude]:pattern:' \ "(--help --include)"--include'[GLOBLIST Comma-separated list of GLOBs of files to include]:pattern:' \ "(--help --name)"--name'[DIR The name of the top-level directory in the archive]:directory:_files -/' \ "(--help -R)"-R'[REPOSITORY Specify a Fossil repository]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '1:version:' \ '2:output file:_files' ;; (stash) __fossil_stash ;; (sync) _arguments \ "(--help -B --httpauth)"{-B,--httpauth}'[USER:PASS Credentials for the simple HTTP auth protocol]:user pass:' \ "(--help --ipv3)"--ipv4'[Use only IPv4, not IPv6]' \ "(--help --once)"--once'[Do not remember URL for subsequent syncs]' \ "(--help --proxy)"--proxy'[PROXY Use the specified HTTP proxy]:proxy:' \ "(--help --private)"--private'[Sync private branches too]' \ "(--help -R --repository)"{-R,--repository}'[REPO Local repository to sync with]:fossils:($(__fossil_repos))' \ "(--help --ssl-identity)"--ssl-identity'[FILE Local SSL credentials]:ssl credentials:' \ "(--help --ssh-command)"--ssh-command'[SSH Use SSH as the "ssh" command]:ssh command:' \ "(--help -u --unversioned)"{-u,--unversioned}'[Also sync unversioned content]' \ "(--help -v --verbose)"{-v,--verbose}'[Additional (debugging) output]' \ "(--help --verily)"--verily'[Exchange extra information with the remote]' \ '(- *)'--help'[Show help and exit]' \ '1::url:__fossil_urls' ;; (tag) __fossil_tag ;; (tarball) _arguments \ "(--help -X --exclude)"{-X,--exclude}'[GLOBLIST Comma-separated list of GLOBs of files to exclude]:pattern:' \ "(--help --include)"--include'[GLOBLIST Comma-separated list of GLOBs of files to include]:pattern:' \ "(--help --name)"--name'[DIR The name of the top-level directory in the archive]:directory:_files -/' \ "(--help -R)"-R'[REPOSITORY Specify a Fossil repository]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '1:version:' \ '2:ouput file:_files' ;; (ticket) __fossil_ticket ;; (timeline) _arguments \ "(--help -n --limit)"{-n,--limit}'[N Output the first N entries]:number:' \ "(--help -p --path)"{-p,--path}'[PATH Output items affecting PATH only]:path:_files' \ "(--help --offset)"--offset'[P skip P changes]:number:' \ "(--help --sql)"--sql'[Show the SQL used to generate the timeline]' \ "(--help -t --type)"{-t,--type}'[TYPE Output items from the given types only]:type:(ci e t w)' \ "(--help -v --verbose)"{-v,--verbose}'[Output the list of files changed by each commit]' \ "(--help -W --width)"{-W,--width}'[NUM Width of lines (default is to auto-detect)]:number:' \ "(--help -R)"-R'[REPO Specifies the repository db to use]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '::when:(before after descendants children ancestors parents)' \ '::check-in:' \ '::datetime:' ;; (tls-config) __fossil_tls_config ;; (touch) _arguments \ "(--help --now -c --checkin -C --checkout)"--now'[Stamp each affected file with the current time]' \ "(--help -c --checkin --now -C --checkout)"{-c,--checkin}'[Stamp with the last modification time]' \ "(--help -C --checkout -c --checkin --now)"{-C,--checkout}'[Stamp with the time of the current checkout]' \ "(--help -g)"-g'[GLOBLIST Comma-separated list of glob patterns]:pattern:' \ "(--help -G)"-G'[GLOBFILE Like -g but reads globs from glob default file]:pattern:' \ "(--help -v -verbose)"{-v,-verbose}'[Outputs extra information about its globs]' \ "(--help -n --dry-run)"{-n,--dry-run}'[Do not touch anything]' \ "(--help -q --quiet)"{-q,--quiet}'[Suppress warnings]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (unpublished) _arguments \ "(--help --all)"--all'[Show all artifacts, not just check-ins]' \ '(- *)'--help'[Show help and exit]' ;; (unset) _arguments \ "(--global)"--global'[Set or unset the given property globally]' \ "(--exact)"--exact'[Only consider exact name matches]' \ "1:setting:($(__fossil_settings))" ;; (unversioned|uv) __fossil_unversioned ;; (update) _arguments \ "(--help --case-sensitive)"--case-sensitive'[BOOL Override case-sensitive setting]:bool:(yes no)' \ "(--help --debug)"--debug'[Print debug information on stdout]' \ "(--help --latest)"--latest'[Update to latest version]' \ "(--help --force-missing)"--force-missing'[Force update if missing content after sync]' \ "(--help -n --dry-run)"{-n,--dry-run}'[If given, display instead of run actions]' \ "(--help -v --verbose)"{-v,--verbose}'[Print status information about all files]' \ "(--help -W --width)"{-W,--width}'[WIDTH Width of lines (default is to auto-detect)]:number:' \ "(--help --setmtime)"--setmtime'[Set timestamps of all files to match their SCM-side times]' \ "(--help -K --keep-merge-files)"{-K,--keep-merge-files}'[On merge conflict, retain the temporary files]' \ '(- *)'--help'[Show help and exit]' \ '1::version:' \ '*::files:_files' ;; (user) __fossil_user ;; (version) _arguments \ "(--help -v --verbose)"{-v,--verbose}'[Additional details about optional features]' \ '(- *)'--help'[Show help and exit]' ;; (whatis) _arguments \ "(--help --type)"--type'[TYPE Only find artifacts of TYPE]:type:(ci t w g e)' \ "(--help -v --verbose)"{-v,--verbose}'[Provide extra information (such as the RID)]' \ '(- *)'--help'[Show help and exit]' \ '1:name:' ;; (wiki) __fossil_wiki ;; (zip) _arguments \ "(--help -X --exclude)"{-X,--exclude}'[GLOBLIST Comma-separated list of GLOBs of files to exclude]:pattern:' \ "(--help --include)"--include'[GLOBLIST Comma-separated list of GLOBs of files to include]:pattern:' \ "(--help --name)"--name'[DIR The name of the top-level directory in the archive]:directory:_files -/' \ "(--help -R)"-R'[REPOSITORY Specify a Fossil repository]:fossils:($(__fossil_repos))' \ '(- *)'--help'[Show help and exit]' \ '1:version:' \ '2:output file:_files' ;; esac ;; *) esac return 0 } ################################################################################ # Subcommands # ################################################################################ ######################################## # fossil alerts # ######################################## function __fossil_alerts_settings() { fossil alerts settings 2>/dev/null } function __fossil_alerts_subscribers() { fossil alerts subscribers 2>/dev/null } function __fossil_alerts() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(--help -R --repository)"{-R,--repository}'[FILE Run command on repository FILE]:fossils:($(__fossil_repos))' "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ pending reset send settings status subscribers \ test-message unsubscribe ;; (options) case $line[1] in (pending|reset) _arguments \ ${_common_options[@]} ;; (send) _arguments \ ${_common_options[@]} \ "(--help --digest)"--digest'[Send digests]' \ "(--help --test)"--test'[Write to standard output]' ;; (set|settings) _arguments \ ${_common_options[@]} \ '1::name:($(__fossil_alerts_settings))' \ '2::value:' ;; (subscribers) _arguments \ ${_common_options[@]} \ '1::pattern:' ;; (test-message) _arguments \ ${_common_options[@]} \ "(--help --body)"--body'[FILENAME]:file:_files' \ "(--help --smtp-trace)"--smtp-trace'[]' \ "(--help --stdout)"--stdout'[]' \ "(--help --subject -S)"{--subject,-S}'[SUBJECT]:subject:' \ '1:recipient:' ;; unsubscribe) _arguments \ ${_common_options[@]} \ '1:email:($(__fossil_alerts_subscribers))' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil all # ######################################## function __fossil_all() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' "(--help --showfile)"--showfile'[Show the repository or checkout being operated upon]' "(--help --dontstop)"--dontstop'[Continue with other repositories even after an error]' "(--help --dry-run)"--dry-run'[If given, display instead of run actions]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ backup cache changes clean config dbstat extras fts-config info \ pull push rebuild sync set unset server ui add ignore list ls ;; (options) case $line[1] in (backup) _arguments \ ${_common_options[@]} \ '1:output directory:_files -/' ;; (cache) __fossil_cache ;; (clean) _arguments \ ${_common_options[@]} \ ${_fossil_clean_options[@]} \ "(--help --whatif)"--whatif'[Review the files to be deleted]' ;; (config) _arguments \ ${_common_options[@]} \ '1:what:(pull)' \ '2:area:' ;; (dbstat) _arguments \ ${_fossil_dbstat_options[@]} ;; (extras) _arguments \ ${_fossil_extras_options[@]} ;; (fts-config) __fossil_fts_config ;; (pull|push) _arguments \ ${_common_options[@]} \ "(--help -v --verbose)"{-v,--verbose}'[Additional (debugging) output]' ;; (rebuild) _arguments \ ${_common_options[@]} \ ${_fossil_rebuild_options[@]} ;; (sync) _arguments \ ${_common_options[@]} \ "(--help -u --unversioned)"{-u,--unversioned}'[Also sync unversioned content]' \ "(--help -v --verbose)"{-v,--verbose}'[Additional (debugging) output]' ;; (set|unset) _arguments \ ${_common_options[@]} \ "1:setting:($(__fossil_settings))" \ '2:value:' \ "(--help --global)"--global'[Set or unset the given property globally]' \ "(--help --exact)"--exact'[Only consider exact name matches]' ;; (server|ui) _arguments \ ${_common_options[@]} \ ${_fossil_server_options[@]} ;; (add) _arguments \ ${_common_options[@]} \ '*:fossils:($(__fossil_repos))' ;; (ignore) _arguments \ ${_common_options[@]} \ "(--help -c --ckout)"{-c,--ckout}'[Ignore local checkouts instead of repositories]' \ '*:fossils:($(__fossil_repos))' ;; (list|ls) _arguments \ "(-)"--help'[Show help and exit]' \ "(--help -c --ckout)"{-c,--ckout}'[List local checkouts instead of repositories]' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil bisect # ######################################## function __fossil_bisect() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ bad good log chart next options reset skip vlist ls status ui undo ;; (options) case $line[1] in (bad|good|skip) _arguments \ '1:version:' ;; (options) _arguments \ "1::name:($(fossil bisect options 2>/dev/null | awk '{print $1}'))" \ '2::value:' ;; (vlist|ls|status) _arguments \ "(-a --all)"{-a,--all}'[List all]' ;; (ui) _arguments \ ${_fossil_server_options[@]} ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil branch # ######################################## function __fossil_branch() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' "(--help -R --repository)"{-R,--repository}'[FILE Run commands on repository FILE]:fossils:($(__fossil_repos))' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ current info list ls new ;; (options) case $line[1] in (current) _arguments \ ${_common_options[@]} ;; (info) _arguments \ ${_common_options[@]} \ ':branch:($(__fossil_branches))' ;; (list|ls) _arguments \ ${_common_options[@]} \ "(--help -a --all)"{-a,--all}'[List all branches]' \ "(--help -c --closed)"{-c,--closed}'[List closed branches]' \ "(--help -r)"-r'[Reverse the sort order]' \ "(--help -t)"-t'[Show recently changed branches first]' ;; (new) _arguments \ ${_common_options[@]} \ "(--help --private)"--private'[Branch is private]' \ "(--help --bgcolor)"--bgcolor'[COLOR Use COLOR instead of automatic background]:color:' \ "(--help --nosign)"--nosign'[Do not sign contents on this branch]' \ "(--help --date-override)"--date-override'[DATE Use DATE instead of '"'"'now'"'"']:date:(now)' \ "(--help --user-override)"--user-override'[USER Use USER instead of the default]:user:($(__fossil_users))' \ '1:branch name:' \ '2:base check-in:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil bundle # ######################################## function __fossil_bundle() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ append cat export extend import ls purge ;; (options) case $line[1] in (append) _arguments \ '1:bundle:_files' \ '*:files:_files' ;; (bundle) _arguments \ '1:what:(cat)' \ '2:bundle:_files' \ '*:hashes:' ;; (export) _arguments \ "(--branch)"--branch'[BRANCH Package all check-ins on BRANCH]:branch:($(__fossil_branches))' \ "(--from)"--from'[TAG1 --to TAG2 Package check-ins starting with TAG1]:tag:($(__fossil_tags))' \ "(--to)"--to'[TAG2 Package check-ins up to TAG2]:tag:($(__fossil_tags))' \ "(--checkin)"--checkin'[TAG Package the single check-in TAG]:tag:($(__fossil_tags))' \ "(--standalone)"--standalone'[Do no use delta-encoding against]' \ '1:bundle:_files' ;; (extend|ls|purge) _arguments \ '1:bundle:_files' ;; (import) _arguments \ "(--publish)"--publish'[Make the import public]' \ "(--force)"--force'[Import even if project codes do not match]' \ '1:bundle:_files' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil cache # ######################################## function __fossil_cache_subcommand { } function __fossil_cache() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ clear init list ls status ;; *) _message 'no more arguments' ;; esac return 0 } ######################################## # fossil configuration # ######################################## function __fossil_configuration() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(--help -R --repository)"{-R,--repository}'[FILE Extract info from repository FILE]:fossils:($(__fossil_repos))' "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:method:->method' \ '*::options:->options' case $state in (method) _values 'method' \ export import merge pull push reset sync ;; (options) case $line[1] in (export) _arguments \ ${_common_options[@]} \ '1:area:__fossil_areas' \ '2:file:_files' ;; (import|merge) _arguments \ ${_common_options[@]} \ '1:file:_files' ;; (pull) _arguments \ ${_common_options[@]} \ "(--help --overwrite)"--overwrite'[Replace local settings]' \ '1:area:__fossil_areas' \ '2::url:__fossil_urls' ;; (push|sync) _arguments \ ${_common_options[@]} \ '1:area:__fossil_areas' \ '2::url:__fossil_urls' ;; (reset) _arguments \ ${_common_options[@]} \ '1:area:__fossil_areas' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil fts-config # ######################################## function __fossil_fts_config() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ reindex index enable disable stemmer ;; (options) case $line[1] in index|stemmer) _arguments \ "(- *):setting:(on off)" ;; enable|disable) _arguments \ "(- *):setting:(cdtwe)" ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil git # ######################################## function __fossil_git() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in subcommand) _values 'subcommand' \ export import status ;; options) case $line[1] in (export) _arguments \ ${_common_options[@]} \ "(--help --autopush)"--autopush'[URL Automatically do a '"'"'git push'"'"' to URL]:url:__fossil_urls' \ "(--help --debug)"--debug'[FILE Write fast-export text to FILE]:file:_files' \ "(--help --force -f)"{--force,-f}'[Do the export even if nothing has changed]' \ "(--help --limit)"--limit'[N Add no more than N new check-ins to MIRROR]:number:' \ "()*"{--quiet,-q}'[Reduce output. Repeat for even less output]' \ "(--verbose -v)"{--verbose,-v}'[More output]' ;; (import) _arguments \ ${_common_options[@]} \ ':url:__fossil_urls' ;; (status) _arguments \ ${_common_options[@]} ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil hook # ######################################## function __fossil_hook() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ add delete edit list status test ;; (options) case $line[1] in (add) _arguments \ ${_common_options[@]} \ "(--help --command)"--command'[COMMAND]:command:' \ "(--help --type)"--type'[TYPE]:type:' \ "(--help --sequence)"--sequence'[NUM]:number:' ;; (delete) _arguments \ ${_common_options[@]} \ '*:IDs:' ;; (edit) _arguments \ ${_common_options[@]} \ "(--help --command)"--command'[COMMAND]:command:' \ "(--help --type)"--type'[TYPE]:type:' \ "(--help --sequence)"--sequence'[NUM]:number:' \ '*:IDs:' ;; (list|status) _arguments \ ${_common_options[@]} \ ;; (test) _arguments \ ${_common_options[@]} \ "(--help --dry-run)"--dry-run'[Print the script on stdout rather than run it]' \ "(--help --base-rcvid)"--base-rcvid'[N Pretend that the hook-last-rcvid value is N]:number:' \ "(--help --new-rcvid)"--new-rcvid'[M Pretend that the last rcvid valud is M]:number:' \ "(--help --aux-file)"--aux-file'[NAME NAME is substituted for %A in the script]:name:' \ '1:ID:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil json # ######################################## function __fossil_json_subcommands() { _values 'subcommand' \ anonymousPassword artifact branch cap config diff dir g login logout \ query rebuild report resultCodes stat tag timeline user version \ whoami wiki } function __fossil_json() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' "(--help -R --repository)"{-R,--repository}'[FILE Run commands on repository FILE]:fossils:($(__fossil_repos))' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _arguments \ '(- *)'-json-input'[FILE Read JSON data from FILE]:file:_files' \ '1:subcommand:__fossil_json_subcommands' ;; (options) case $line[1] in -json-input) _arguments \ ${_common_options[@]} \ '1:file:_files' ;; *) _message 'no more arguments' ;; esac ;; *) esac return 0 } ######################################## # fossil login-group # ######################################## function __fossil_login_group() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ join leave ;; (options) case $line[1] in (join) _arguments \ "(-name)"-name'[Specified the name of the login group]:name:' \ ':fossils:($(__fossil_repos))' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil purge # ######################################## function __fossil_purge() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(--help --explain --dry-run)"--explain'[Make no changes, but show what would happen]' "(--help --dry-run --explain)"--dry-run'[An alias for --explain]' "(-)"--help'[Show help and exit]' ) _arguments -C \ "(-)"--help'[Show help and exit]' \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ artifacts cat checkins files list ls obliterate tickets undo wiki ;; (options) case $line[1] in (artifacts|cat) _arguments \ ${_common_options[@]} \ '*:hashes:' ;; (checkins) _arguments \ ${_common_options[@]} \ '*:tags:($(__fossil_tags))' ;; (files) _arguments \ ${_common_options[@]} \ '*:files:_files' ;; (list|ls) _arguments \ ${_common_options[@]} \ "(--help -l)"-l'[Provide more details]' ;; (obliterate) _arguments \ ${_common_options[@]} \ "(--help --force)"--force'[Suppress confirmation prompt]' \ '*:IDs:' ;; (tickets) _arguments \ ${_common_options[@]} \ '*:ticket names:' ;; (undo) _arguments \ ${_common_options[@]} \ '1:ID:' ;; (wiki) _arguments \ ${_common_options[@]} \ '*:wiki pages:($(__fossil_wiki_pages))' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil remote # ######################################## function __fossil_remote() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ add delete list off ;; (options) case $line[1] in (add) _arguments \ '1:name:' \ '2:url:__fossil_urls' ;; (delete) _arguments \ '1:name:($(__fossil_remotes))' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil stash # ######################################## function __fossil_stash_ids() { fossil stash ls | grep '^\s*\d\+:' | awk -F ':' '{print $1}' | sed 's/^ *//' } function __fossil_stash() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ save snapshot list ls show gshow pop apply goto drop diff gdiff ;; (options) case $line[1] in (save|snapshot) _arguments \ "(-m --comment)"{-m,--comment}'[MSG Add comment]:comment:' \ '*:files:_files' ;; (list|ls) _arguments \ "(-v --verbose)"{-v,--verbose}'[Show info about individual files]' \ "(-W --width)"{-W,--width}'[N Set width]:number:' ;; (show|cat|diff|gdiff) _arguments \ ${_fossil_diff_options[@]} \ '1::stash ID:($(__fossil_stash_ids))' ;; (apply|goto) _arguments \ '1::stash ID:($(__fossil_stash_ids))' ;; (drop|rm) _arguments \ "(-a --all)"{-a,--all}'[Forget the whole stash (CANNOT UNDO!)]' \ '1::stash ID:($(__fossil_stash_ids))' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil tag # ######################################## function __fossil_tag() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ add cancel find list ls ;; (options) case $line[1] in (add) _arguments \ ${_common_options[@]} \ "(--help --raw)"--raw'[Raw tag name]' \ "(--help --propagate)"--propagate'[Propagating tag]' \ "(--help --date-override)"--date-override'[DATETIME Set date and time added]:datetime:' \ "(--help --user-override)"--user-override'[USER Name USER when adding the tag]:user:($(__fossil_users))' \ "(--help --dryrun -n)"{--dryrun,-n}'[Display the tag text, but do not]' \ '1:tag name:($(__fossil_tags))' \ '2:check-in:' \ '3::value:' ;; (cancel) _arguments \ ${_common_options[@]} \ "(--help --raw)"--raw'[Raw tag name]' \ "(--help --date-override)"--date-override'[DATETIME Set date and time deleted]:datetime:' \ "(--help --user-override)"--user-override'[USER Name USER when deleting the tag]:user:($(__fossil_users))' \ "(--help --dryrun -n)"{--dryrun,-n}'[Display the control artifact, but do]' \ '1:tag name:($(__fossil_tags))' \ '2:check-in:' ;; (find) _arguments \ ${_common_options[@]} \ "(--help --raw)"--raw'[Raw tag name]' \ "(--help -t --type)"{-t,--type}'[TYPE One of "ci", or "e"]:(ci e)' \ "(--help -n --limit)"{-n,--limit}'[N Limit to N results]:number:' \ '1:tag name:($(__fossil_tags))' ;; (list|ls) _arguments \ ${_common_options[@]} \ "(--help --raw)"--raw'[List tags raw names of tags]' \ "(--help --tagtype)"--tagtype'[TYPE List only tags of type TYPE]:tag type:(ci e)' \ "(--help -v --inverse)"{-v,--inverse}'[Inverse the meaning of --tagtype TYPE]' \ '1::check-in:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil ticket # ######################################## function __fossil_ticket() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ show list ls set change add history ;; (options) case $line[1] in (show) _arguments \ ${_common_options[@]} \ "(--help -l --limit)"{-l,--limit}'[LIMITCHAR]:limit:' \ "(--help -q --quote)"{-q,--quote}'[]' \ "(--help -R --repository)"{-R,--repository}'[FILE]:fossils:($(__fossil_repos))' \ '1:report title/nr:' \ '2::ticket filter:' ;; (list|ls) _arguments \ ':what:(fields reports)' ;; (set|change) _arguments \ ${_common_options[@]} \ "(--help -q --quote)"{-q,--quote}'[]' \ '1:ticket UUID:' \ '*:field/value:' ;; (add) _arguments \ ${_common_options[@]} \ "(--help -q --quote)"{-q,--quote}'[]' \ '*:field/value:' ;; (history) _arguments \ ':ticket UUID:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil tls-config # ######################################## function __fossil_tls_config() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ show remove-exception ;; (options) case $line[1] in (remove-exception) _arguments \ '*:domains:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil unversioned/uv # ######################################## function __fossil_unversioned() { local curcontext="$curcontext" state line typeset -A opt_args local -a _common_options _common_options=( "(--help -R --repository)"{-R,--repository}'[FILE Use FILE as the repository]:fossils:($(__fossil_repos))' "(--help --mtime)"--mtime'[TIMESTAMP Use TIMESTAMP instead of "now"]:timestamp:' "(-)"--help'[Show help and exit]' ) _arguments -C \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ add cat edit export list ls revert remove rm delete sync touch ;; (options) case $line[1] in (add) _arguments \ ${_common_options[@]} \ "(--help --as)"--as'[UVFILE]:file:_files' \ '*:files:_files' ;; (cat) _arguments \ ${_common_options[@]} \ '*:files:_files' ;; (edit) _arguments \ ${_common_options[@]} \ '1:file:_files' ;; (export) _arguments \ ${_common_options[@]} \ '1:file:_files' \ '2:output file:_files' ;; (list|ls) _arguments \ ${_common_options[@]} \ "(--help --glob)"--glob'[PATTERN Show only files that match]:pattern:' \ "(--help --like)"--like'[PATTERN Show only files that match]:pattern:' ;; (revert) _arguments \ ${_common_options[@]} \ "(--help -v --verbose)"{-v,--verbose}'[Extra diagnostic output]' \ "(--help -n --dryrun)"{-n,--dryrun}'[Show what would have happened]' \ '1::url:__fossil_urls' ;; (remove|rm|delete) _arguments \ ${_common_options[@]} \ "(--help --glob)"--glob'[PATTERN Remove files that match]:pattern:' \ "(--help --like)"--like'[PATTERN Remove files that match]:pattern:' \ '*:files:_files' ;; (sync) _arguments \ ${_common_options[@]} \ "(--help -v --verbose)"{-v,--verbose}'[Extra diagnostic output]' \ "(--help -n --dryrun)"{-n,--dryrun}'[Show what would have happened]' \ '1::url:__fossil_urls' ;; (touch) _arguments \ ${_common_options[@]} \ '*:files:_files' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil user # ######################################## function __fossil_user() { local curcontext="$curcontext" state line typeset -a opt_args local -a _common_options _common_options=( "(--help -R --repository)"{-R,--repository}'[FILE Apply command to repository FILE]:fossils:($(__fossil_repos))' "(-)"--help'[show help and exit]' ) _arguments -c \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ capabilities default list ls new password ;; (options) case $line[1] in (capabilities) _arguments \ ${_common_options[@]} \ '1:user:($(__fossil_users))' \ '2::string:' ;; (default) _arguments \ ${_common_options[@]} \ '1::user:($(__fossil_users))' ;; (list|ls) _arguments \ ${_common_options[@]} ;; (new) _arguments \ ${_common_options[@]} \ '1::username:' \ '2::contact info:' \ '3::password:' ;; (password) _arguments \ ${_common_options[@]} \ '1:user:($(__fossil_users))' \ '2::password:' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil wiki # ######################################## function __fossil_wiki() { local curcontext="$curcontext" state line typeset -a opt_args local -a _common_options _common_options=( "(-)"--help'[show help and exit]' ) _arguments -c \ ${_common_options[@]} \ '1:subcommand:->subcommand' \ '*::options:->options' case $state in (subcommand) _values 'subcommand' \ export create commit list ;; (options) case $line[1] in (export) _arguments \ ${_common_options[@]} \ "(--help --technote -t)"{--technote,-t}'[DATETIME|TECHNOTE-ID Export a technote]:datetime/technote-id:(now)' \ "(--help -h --html -H --HTML)"--html'[Render only HTML body]' \ "(--help -H --HTML -h --html)"--HTML'[Like -h|-html but wraps the output in /]' \ "(--help -p --pre)"{-p,--pre}'[Wrap into
...]' \ '::pagename:($(__fossil_wiki_pages))' \ '::file:_files' ;; (create|commit) _arguments \ ${_common_options[@]} \ "(--help -M --mimetype)"{-M,--mimetype}'[TEXT-FORMAT The mime type of the update]:mimetype:' \ "(--help --technote -t)"{--technote,-t}'[DATETIME|TECHNOTE-ID]:datetime/technote-id:(now)' \ "(--help --technote-tags)"--technote-tags'[TAGS The set of tags for a technote]:tags:' \ "(--help --technote-bgcolor)"--technote-bgcolor'[COLOR The color used for the technote]:color:' \ '1:pagename:($(__fossil_wiki_pages))' \ '2::file:_files' ;; (list|ls) _arguments \ ${_common_options[@]} \ "(--help -t --technote)"{-t,--technote}'[List technotes]' \ "(--help -s --show-technote-ids)"{-s,--show-technote-ids}'[The id of the tech note will be listed]' ;; *) _message 'no more arguments' ;; esac ;; esac return 0 } ######################################## # fossil test commands # ######################################## function __fossil_complete_test_commands() { case $line[1] in (test-add-alerts) _arguments \ "(--help --backoffice)"--backoffice'[Run alert_backoffice() after all alerts have been added]' \ "(--help --debug)"--debug'[Like --backoffice, but print to stdout]' \ "(--help --digest)"--digest'[Process emails using SENDALERT_DIGEST]' \ '(- *)'--help'[Show help and exit]' \ '*:event IDs:' ;; (test-agg-cksum) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-alert) _arguments \ "(--help --digest)"--digest'[Generate digest alert text]' \ "(--help --needmod)"--needmod'[Assume all events are pending moderator approval]' \ '(- *)'--help'[Show help and exit]' \ '*:event IDs:' ;; (test-all-help) _arguments \ "(--help -e --everything)"{-e,--everything}'[Show all commands and pages]' \ "(--help -t --test)"{-t,--test}'[Include test- commands]' \ "(--help -w --www)"{-w,--www}'[Show WWW pages]' \ "(--help -s --settings)"{-s,--settings}'[Show settings]' \ "(--help -h --html)"{-h,--html}'[Transform output to HTML]' \ "(--help -r --raw)"{-r,--raw}'[No output formatting]' \ '(- *)'--help'[Show help and exit]' ;; (test-ambiguous) _arguments \ "(--help --minsize)"--minsize'[N Show hases with N characters or more]:number:' \ '(- *)'--help'[Show help and exit]' ;; (test-ancestor-path) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:version 1:' \ '2:version 2:' ;; (test-approx-match) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-backlinks) _arguments \ "(--help --mtime)"--mtime'[DATETIME Use an alternative date/time]:datetime:' \ "(--help --mimetype)"--mimetype'[TYPE Use an alternative mimetype]:mimetype:' \ '(- *)'--help'[Show help and exit]' \ '1:srctype:' \ '2:srcid:' \ '3:input file:_files' ;; (test-backoffice-lease) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-builtin-get) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:name:' \ '2::output file:_files' ;; (test-builtin-list) _arguments \ "(--help --verbose)"--verbose'[Output total item count and size]' \ '(- *)'--help'[Show help and exit]' ;; (test-canonical-name) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-captcha) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:numbers:' ;; (test-ci-mini) _arguments \ "(--help --repository -R)"{--repository,-R}'[REPO The repository file to commit to]:fossils:($(__fossil_repos))' \ "(--help --as)"--as'[FILENAME The repository-side name of the input file]:file:_files' \ "(--help --comment -m)"{--comment,-m}'[COMMENT Required checkin comment]:comment:' \ "(--help --comment-file -M)"{--comment-file,-M}'[FILE Reads checkin comment from the given file]:file:_files' \ "(--help --revision -r)"{--revision,-r}'[VERSION Commit from this version]:version:' \ "(--help --allow-fork)"--allow-fork'[Allow commit against a non-leaf parent]' \ "(--help --allow-merge-conflict)"--allow-merge-conflict'[Allow checkin of a file with conflict markers]' \ "(--help --user-override)"--user-override'[USER User to use instead of the default]:user:($(__fossil_users))' \ "(--help --date-override)"--date-override'[DATETIME Date to use instead of '"'"'now'"'"']:datetime:(now)' \ "(--help --allow-older)"--allow-older'[Allow a commit to be older than its ancestor]' \ "(--help --convert-eol-inherit)"--convert-eol-inherit'[Inherit EOL style from previous content]' \ "(--help --convert-eol-unix)"--convert-eol-unix'[Convert the EOL style to Unix]' \ "(--help --convert-eol-windows)"--convert-eol-windows'[Convert the EOL style to Windows]' \ "(--help --delta)"--delta'[Prefer to generate a delta manifest]' \ "(--help --allow-new-file)"--allow-new-file'[Allow addition of a new file this way]' \ "(--help --dump-manifest -d)"{--dump-manifest,-d}'[Dumps the generated manifest to stdout]' \ "(--help --save-manifest)"--save-manifest'[FILE Saves the generated manifest to a file]:file:_files' \ "(--help --wet-run)"--wet-run'[Disables the default dry-run mode]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-clusters) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-command-stats) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-comment-format) _arguments \ "(--help --file)"--file'[The comment text is really just a file name to read it from]' \ "(--help --decode)"--decode'[Decode the text using the same method used for a C-card from a manifest]' \ "(--help --legacy)"--legacy'[Use the legacy comment printing algorithm]' \ "(--help --trimcrlf)"--trimcrlf'[Enable trimming of leading/trailing CR/LF]' \ "(--help --trimspace)"--trimspace'[Enable trimming of leading/trailing spaces]' \ "(--help --wordbreak)"--wordbreak'[Attempt to break lines on word boundaries]' \ "(--help --origbreak)"--origbreak'[Attempt to break when the original comment text is detected]' \ "(--help --indent)"--indent'[NUM Number of spaces to indent]:number:' \ "(--help -W --width)"{-W,--width}'[NUM Width of lines]:number:' \ '(- *)'--help'[Show help and exit]' \ '1:prefix:' \ '2:text:' \ '3::origtext:' ;; (test-commit-warning) _arguments \ "(--help --no-settings)"--no-settings'[Do not consider any glob settings]' \ "(--help -v --verbose)"{-v,--verbose}'[Show per-file results for all pre-commit checks]' \ '(- *)'--help'[Show help and exit]' ;; (test-compress) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:input file:_files' \ '2:output file:_files' ;; (test-compress-2) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:input file 1:_files' \ '2:input file 2:_files' \ '3:output file:_files' ;; (test-contains-selector) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:css selector:' ;; (test-content-deltify) _arguments \ "(--help --force)"--force'[]' \ '(- *)'--help'[Show help and exit]' \ '1:rid:' \ '*:src id:' ;; (test-content-erase) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:rid:' ;; (test-content-put) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-content-rawget) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-content-undelta) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:record id:' ;; (test-convert-stext) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:mimetype:' ;; (test-create-clusters) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-crosslink) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:record id:' ;; (test-cycle-compress) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-database-names) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-date-format) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:date string:' ;; (test-db-exec-error) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-decode-email) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-decode64) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:string:' ;; (test-delta) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:file:_files' ;; (test-delta-analyze) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:file:_files' ;; (test-delta-apply) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:delta:_files' ;; (test-delta-create) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:file:_files' \ '3:delta:_files' ;; (test-describe-artifacts) _arguments \ "(--help --from)"--from'[S An artifact]:artifact:' \ "(--help --count)"--count'[N Number of artifacts]:number:' \ '(- *)'--help'[Show help and exit]' ;; (test-detach) _arguments \ '(- *)'--help'[Show help and exit]' \ '1::fossils:($(__fossil_repos))' ;; (test-diff) _arguments \ ${_fossil_diff_options[@]} \ '1:file 1:_files' \ '2:file 2:_files' ;; (test-dir-size) _arguments \ "(--help --nodots)"--nodots'[Omit files that begin with '"'"'.'"'"']' \ '(- *)'--help'[Show help and exit]' \ '1:directory:_files -/' \ '2::glob pattern:' ;; (test-echo) _arguments \ "(--help --hex)"--hex'[Show the output as hexadecimal]' \ '(- *)'--help'[Show help and exit]' \ '*:args:' ;; (test-emailblob-refcheck) _arguments \ "(--help --repair)"--repair'[Fix up the enref field]' \ "(--help --full)"--full'[Give a full report]' \ "(--help --clean)"--clean'[Used with --repair, removes entries with enref==0]' \ '(- *)'--help'[Show help and exit]' ;; (test-encode64) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:string:' ;; (test-escaped-arg) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:args:' ;; (test-etag) _arguments \ "(--help --key)"--key'[KEYNUM]:key number:' \ "(--help --hash)"--hash'[HASH]:hash:' \ '(- *)'--help'[Show help and exit]' ;; (test-file-copy) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:source:_files' \ '2:destination:_files' ;; (test-file-environment) _arguments \ "(--help --allow-symlinks)"--allow-symlinks'[BOOL Temporarily turn allow-symlinks on/off]:bool:(yes no)' \ "(--help --open-config)"--open-config'[Open the configuration database first]' \ "(--help --slash)"--slash'[Trailing slashes, if any, are retaine]' \ "(--help --reset)"--reset'[Reset cached stat() info for each file]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-fileage) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:checkin:' ;; (test-filezip) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-find-mx) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:domain:' ;; (test-find-pivot) _arguments \ "(--help --ignore-merges)"--ignore-merges'[Ignore merges for discovering name pivots]' \ '(- *)'--help'[Show help and exit]' \ '*:args:' ;; (test-fingerprint) _arguments \ '(- *)'--help'[Show help and exit]' \ '1::rcvid:' ;; (test-forumthread) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:thread id:' ;; (test-fossil-system) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-fuzz) _arguments \ "(--help --type)"--type'[TYPE]:type:(wiki markdown artifact)' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-glob) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:pattern:' \ '2:string:' ;; (test-grep) _arguments \ "(--help -i --ignore-case)"{-i,--ignore-case}'[Ignore case]' \ '(- *)'--help'[Show help and exit]' \ '1:regexp:' \ '*:files:_files' ;; (test-gzip) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-hash-color) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:tags:($(__fossil_tags))' ;; (test-hash-passwords) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:fossils:($(__fossil_repos))' ;; (test-html-tidy) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-html-to-text) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-html-tokenize) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-http) _arguments \ "(--help --th-trace)"--th-trace'[Trace TH1 execution (for debugging purposes)]' \ "(--help --usercap)"--usercap'[CAP user capability string]:capability string:' \ '(- *)'--help'[Show help and exit]' ;; (test-httpmsg) _arguments \ "(--help --compress)"--compress'[Use ZLIB compression on the payload]' \ "(--help --mimetype)"--mimetype'[TYPE Mimetype of the payload]:mimetype:' \ "(--help --out)"--out'[FILE Store the reply in FILE]:file:_files' \ "(--help -v)"-v'[Verbose output]' \ '(- *)'--help'[Show help and exit]' \ '1:url:__fossil_urls' \ '2::payload:' ;; (test-integrity) _arguments \ "(--help -d --db-only)"{-d,--db-only}'[Run "PRAGMA integrity_check" on the database only]' \ "(--help --parse)"--parse'[Parse all manifests, wikis, tickets, events, etc]' \ "(--help -q --quick)"{-q,--quick}'[Run "PRAGMA quick_check" on the database only]' \ '(- *)'--help'[Show help and exit]' ;; (test-is-reserved-name|test-is-ckout-db) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-ishuman) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-isspace) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-leaf-ambiguity) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:names:' ;; (test-list-page) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:directory:_files -/' ;; (test-list-webpage) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-loadavg) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-looks-like-utf) _arguments \ "(--help -n --limit)"{-n,--limit}'[NUM Repeat looks-like function NUM times]:number:' \ "(--help --utf8)"--utf8'[Ignoring BOM and file size, force UTF-8 checking]' \ "(--help --utf16)"--utf16'[Ignoring BOM and file size, force UTF-16 checking]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-mailbox-hashname) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:human name:' ;; (test-markdown-render) _arguments \ "(--help --safe)"--safe'[Restrict the output to use only "safe" HTML]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-match) _arguments \ "(--help --begin)"--begin'[TEXT Text to insert before each match]:text:' \ "(--help --end)"--end'[TEXT Text to insert after each match]:text:' \ "(--help --gap)"--gap'[TEXT Text to indicate elided content]:text:' \ "(--help --html)"--html'[Input is HTML]' \ "(--help --static)"--static'[Use the static Search object]' \ '(- *)'--help'[Show help and exit]' \ '1:search string:' \ '*:files:_files' ;; (test-mimetype) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-missing) _arguments \ "(--help --notshunned)"--notshunned'[Do not report shunned artifacts]' \ "(--help --quiet)"--quiet'[Only show output if there are errors]' \ '(- *)'--help'[Show help and exit]' ;; (test-move-repository) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:pathname:_files' ;; (test-name-changes) _arguments \ "(--help --debug)"--debug'[Enable debugging]' \ '(- *)'--help'[Show help and exit]' \ '1:version 1:' \ '2:version 2:' ;; (test-name-to-id) _arguments \ "(--help --count)"--count'[N Repeat the conversion N times]:number:' \ '(- *)'--help'[Show help and exit]' \ '*:name:' ;; (test-obscure) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:args:' ;; (test-orphans) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-parse-all-blobs) _arguments \ "(--help --limit)"--limit'[N Parse no more than N blobs]:number:' \ '(- *)'--help'[Show help and exit]' ;; (test-parse-manifest) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2::n:' ;; (test-phantoms) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-process-id) _arguments \ "(--help --sleep)"--sleep'[N Sleep for N seconds before exiting]:number:' \ '(- *)'--help'[Show help and exit]' \ '*:process id:' ;; (test-prompt-password) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:prompt:' \ '2:verify:(0 1 2)' ;; (test-prompt-user) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:prompt:' ;; (test-random-password) _arguments \ '(- *)'--help'[Show help and exit]' \ '1::length:' ;; (test-rawdiff) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file 1:_files' \ '2:file 2:_files' ;; (test-relative-name) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-reserved-names) _arguments \ "(--help -omitrepo)"-omitrepo'[]' \ '(- *)'--help'[Show help and exit]' ;; (test-safe-html) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-sanitize-name) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:args:' ;; (test-search-stext) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:type:(c d e t w)' \ '2:rid:' \ '3:name:' ;; (test-set-mtime) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' \ '2:date/time:' ;; (test-shortest-path) _arguments \ "(--help --no-merge)"--no-merge'[Follow only direct parent-child paths]' \ '(- *)'--help'[Show help and exit]' \ '1:version 1:' \ '2:version 2:' ;; (test-simplify-name) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-smtp-probe) _arguments \ "(--help --direct)"--direct'[Use DOMAIN directly without going through MX]' \ "(--help --port)"--port'[N Talk on TCP port N]:number:' \ '(- *)'--help'[Show help and exit]' \ '1:domain:' \ '2::me:' ;; (test-smtp-send) _arguments \ "(--help --direct)"--direct'[Bypass MX lookup]' \ "(--help --relayhost)"--relayhost'[HOST Use HOST as relay for delivery]:host:' \ "(--help --port)"--port'[Use TCP port N instead of 25]:number:' \ "(--help --trace)"--trace'[Show the SMTP conversation on the console]' \ '(- *)'--help'[Show help and exit]' \ '1:email:_files' \ '2:from:' \ '*:to:' ;; (test-smtp-senddata) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-subtree) _arguments \ "(--help --branch)"--branch'[BRANCH Include only check-ins on BRANCH]:branch:($(__fossil_branches))' \ "(--help --from)"--from'[TAG Start the subtree at TAG]:tag:($(__fossil_tags))' \ "(--help --to)"--to'[TAG End the subtree at TAG]:tag:($(__fossil_tags))' \ "(--help --checkin)"--checkin'[TAG The subtree is the single check-in TAG]:tag:($(__fossil_tags))' \ "(--help --all)"--all'[Include FILE and TAG artifacts]' \ "(--help --exclusive)"--exclusive'[Include FILES exclusively on check-ins]' \ '(- *)'--help'[Show help and exit]' ;; (test-tag) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:tag:($(__fossil_tags))' \ '2:artifact id:' \ '3::value:' ;; (test-tarball) _arguments \ "(--help -h --dereference)"{-h,--dereference}'[Follow symlinks; archive the files they point to]' \ '(- *)'--help'[Show help and exit]' ;; (test-tempname) _arguments \ "(--help --time)"--time'[SUFFIX Generate names based on the time of the day]:suffix:' \ "(--help --tag)"--tag'[NAME Try to use NAME as the differentiator]:name:' \ '(- *)'--help'[Show help and exit]' \ '*:basename:' ;; (test-terminal-size) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-th-eval) _arguments \ "(--help --cgi)"--cgi'[Include a CGI response header in the output]' \ "(--help --http)"--http'[Include an HTTP response header in the output]' \ "(--help --open-config)"--open-config'[Open the configuration database]' \ "(--help --set-anon-caps)"--set-anon-caps'[Set anonymous login capabilities]' \ "(--help --set-user-caps)"--set-user-caps'[Set user login capabilities]' \ "(--help --th-trace)"--th-trace'[Trace TH1 execution]' \ '(- *)'--help'[Show help and exit]' \ '1:script:_files' ;; (test-th-render) _arguments \ "(--help --cgi)"--cgi'[Include a CGI response header in the output]' \ "(--help --http)"--http'[Include an HTTP response header in the output]' \ "(--help --open-config)"--open-config'[Open the configuration database]' \ "(--help --set-anon-caps)"--set-anon-caps'[Set anonymous login capabilities]' \ "(--help --set-user-caps)"--set-user-caps'[Set user login capabilities]' \ "(--help --th-trace)"--th-trace'[Trace TH1 execution]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-th-source) _arguments \ "(--help --cgi)"--cgi'[Include a CGI response header in the output]' \ "(--help --http)"--http'[Include an HTTP response header in the output]' \ "(--help --open-config)"--open-config'[Open the configuration database]' \ "(--help --set-anon-caps)"--set-anon-caps'[Set anonymous login capabilities]' \ "(--help --set-user-caps)"--set-user-caps'[Set user login capabilities]' \ "(--help --th-trace)"--th-trace'[Trace TH1 execution]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-ticket-rebuild) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:ticket id:(all)' ;; (test-timespan) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:timestamp:' ;; (test-timewarp-list) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-topological-sort) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-tree-name) _arguments \ "(--help --absolute)"--absolute'[Return an absolute path instead of a relative one]' \ "(--help --case-sensitive)"--case-sensitive'[BOOL Enable or disable case-sensitive filenames]:bool:(yes no)' \ '(- *)'--help'[Show help and exit]' ;; (test-unclustered) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-uncompress) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:in:_files' \ '2:out:_files' ;; (test-unsent) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-urlparser) _arguments \ "(--help --remember)"--remember'[Store results in last-sync-url]' \ "(--help --prompt-pw)"--prompt-pw'[Prompt for password if missing]' \ '(- *)'--help'[Show help and exit]' \ '1:url:__fossil_urls' ;; (test-usernames) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-valid-for-windows) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-var-get) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:var:' \ '2::file:_files' ;; (test-var-list) _arguments \ "(--help --unset)"--unset'[Delete entries instead of displaying them]' \ "(--help --mtime)"--mtime'[Show last modification time]' \ '(- *)'--help'[Show help and exit]' \ '1::pattern:' ;; (test-var-set) _arguments \ "(--help --blob --file)"--blob'[FILE Binary file to read from]:file:_files' \ "(--help --file --blob)"--file'[FILE File to read from]:file:_files' \ '(- *)'--help'[Show help and exit]' \ '1:var:' \ '2::value:' ;; (test-verify-all) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-whatis-all) _arguments \ '(- *)'--help'[Show help and exit]' ;; (test-which) _arguments \ '(- *)'--help'[Show help and exit]' \ '*:executable name:' ;; (test-wiki-relink) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:wiki page:($(__fossil_wiki_pages))' ;; (test-wiki-render) _arguments \ "(--help --buttons)"--buttons'[Set the WIKI_BUTTONS flag]' \ "(--help --htmlonly)"--htmlonly'[Set the WIKI_HTMLONLY flag]' \ "(--help --linksonly)"--linksonly'[Set the WIKI_LINKSONLY flag]' \ "(--help --nobadlinks)"--nobadlinks'[Set the WIKI_NOBADLINKS flag]' \ "(--help --inline)"--inline'[Set the WIKI_INLINE flag]' \ "(--help --noblock)"--noblock'[Set the WIKI_NOBLOCK flag]' \ '(- *)'--help'[Show help and exit]' \ '1:file:_files' ;; (test-without-rowid) _arguments \ "(--help -n --dryrun)"{-n,--dryrun}'[Just print what would happen]' \ '(- *)'--help'[Show help and exit]' \ '*:files:_files' ;; (test-xfer) _arguments \ '(- *)'--help'[Show help and exit]' \ '1:xfer message:' ;; esac } ################################################################################ _fossil