#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 <html>/</html>]' \
"(--help -p --pre)"{-p,--pre}'[Wrap into <pre>...</pre>]' \
'::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