Merge pull request #466 from niko2342/git_journal_completion
Add completion script for git-journal
This commit is contained in:
commit
7a24a5e561
|
@ -0,0 +1,225 @@
|
|||
#compdef git-journal
|
||||
# ------------------------------------------------------------------------------
|
||||
# Copyright (c) 2011 Github zsh-users - http://github.com/zsh-users
|
||||
# All rights reserved.
|
||||
#
|
||||
# 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.
|
||||
# ------------------------------------------------------------------------------
|
||||
# Description
|
||||
# -----------
|
||||
#
|
||||
# Completion script for git-journal:
|
||||
# https://github.com/saschagrunert/git-journal
|
||||
#
|
||||
# Authors
|
||||
# -------
|
||||
#
|
||||
# * Sascha Grunert <mail@saschagruenrt.de>
|
||||
# * Nico Wagner <nico@cryptopone.org>
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
_git-journal() {
|
||||
typeset -A opt_args
|
||||
local ret=1
|
||||
|
||||
local context curcontext="$curcontext" state line
|
||||
_arguments -s -S -C \
|
||||
"-p+[Sets a custom working path.]" \
|
||||
"--path+[Sets a custom working path.]" \
|
||||
"-n+[The number of tags until the parser stops when a single revision is given.]" \
|
||||
"--tags-count+[The number of tags until the parser stops when a single revision is given.]" \
|
||||
"-e+[A pattern to exclude git tags from the processing.]" \
|
||||
"-t+[Use a custom output template.]" \
|
||||
"--template+[Use a custom output template.]" \
|
||||
"-o+[The output file for the changelog.]" \
|
||||
"--output+[The output file for the changelog.]" \
|
||||
"-a[Do not stop parsing at the first tag when a single revision is given. Overwrites '-n/--tags-count'.]" \
|
||||
"--all[Do not stop parsing at the first tag when a single revision is given. Overwrites '-n/--tags-count'.]" \
|
||||
"-g[Generate a fresh output template from a commit range.]" \
|
||||
"--generate[Generate a fresh output template from a commit range.]" \
|
||||
"-s[Print only the shortlog (summary) form.]" \
|
||||
"--short[Print only the shortlog (summary) form.]" \
|
||||
"-u[Skip entries without any relation to a git TAG.]" \
|
||||
"--skip-unreleased[Skip entries without any relation to a git TAG.]" \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
"1:: :_git-journal_commands" \
|
||||
"*:: :->git-journal" \
|
||||
&& ret=0
|
||||
case $state in
|
||||
(git-journal)
|
||||
curcontext="${curcontext%:*:*}:git-journal-command-$words[1]:"
|
||||
case $line[1] in
|
||||
(p)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
"1:: :_git-journal_prepare_commands" \
|
||||
&& ret=0
|
||||
;;
|
||||
(prepare)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
"1:: :_git-journal_prepare_commands" \
|
||||
&& ret=0
|
||||
;;
|
||||
(s)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
&& ret=0
|
||||
;;
|
||||
(setup)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
&& ret=0
|
||||
;;
|
||||
(v)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
"1:: :_git-journal_verify_commands" \
|
||||
&& ret=0
|
||||
;;
|
||||
(verify)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
"1:: :_git-journal_verify_commands" \
|
||||
&& ret=0
|
||||
;;
|
||||
(help)
|
||||
_arguments -s -S -C \
|
||||
"-h[Prints help information]" \
|
||||
"--help[Prints help information]" \
|
||||
"-V[Prints version information]" \
|
||||
"--version[Prints version information]" \
|
||||
&& ret=0
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
(( $+functions[_git-journal_commands] )) ||
|
||||
_git-journal_commands() {
|
||||
local commands; commands=(
|
||||
"prepare:Prepare a commit message before the user can edit it." \
|
||||
"p:Prepare a commit message before the user can edit it." \
|
||||
"setup:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \
|
||||
"s:Creates all necessary git hooks and an initial configuration file. Shell completions for bash and fish will be available inside the current working directory." \
|
||||
"verify:Verify the specified commit message." \
|
||||
"v:Verify the specified commit message." \
|
||||
"help:Prints this message or the help of the given subcommand(s)" \
|
||||
"REVISION_RANGE:Specifies the revision range to be processed. If a single revision is specified, the output will stop at the first following git TAG." \
|
||||
)
|
||||
_describe -t commands 'git-journal commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_help_commands] )) ||
|
||||
_git-journal_help_commands() {
|
||||
local commands; commands=(
|
||||
|
||||
)
|
||||
_describe -t commands 'git-journal help commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_p_commands] )) ||
|
||||
_git-journal_p_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
"TYPE:The type of the commit. For example "message"." \
|
||||
)
|
||||
_describe -t commands 'git-journal p commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_p_commands] )) ||
|
||||
_p_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
"TYPE:The type of the commit. For example "message"." \
|
||||
)
|
||||
_describe -t commands 'p commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_prepare_commands] )) ||
|
||||
_git-journal_prepare_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
"TYPE:The type of the commit. For example "message"." \
|
||||
)
|
||||
_describe -t commands 'git-journal prepare commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_s_commands] )) ||
|
||||
_git-journal_s_commands() {
|
||||
local commands; commands=(
|
||||
|
||||
)
|
||||
_describe -t commands 'git-journal s commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_s_commands] )) ||
|
||||
_s_commands() {
|
||||
local commands; commands=(
|
||||
|
||||
)
|
||||
_describe -t commands 's commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_setup_commands] )) ||
|
||||
_git-journal_setup_commands() {
|
||||
local commands; commands=(
|
||||
|
||||
)
|
||||
_describe -t commands 'git-journal setup commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_v_commands] )) ||
|
||||
_git-journal_v_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
)
|
||||
_describe -t commands 'git-journal v commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_v_commands] )) ||
|
||||
_v_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
)
|
||||
_describe -t commands 'v commands' commands "$@"
|
||||
}
|
||||
(( $+functions[_git-journal_verify_commands] )) ||
|
||||
_git-journal_verify_commands() {
|
||||
local commands; commands=(
|
||||
"MESSAGE:The path to the commit message which should be prepared." \
|
||||
)
|
||||
_describe -t commands 'git-journal verify commands' commands "$@"
|
||||
}
|
||||
|
||||
_git-journal "$@"
|
Loading…
Reference in New Issue