Fix packaging and Use parameterized names for zsh completion

This commit is contained in:
Kienyew 2020-09-08 18:34:42 +08:00 committed by David Peter
parent d9e8bbcb10
commit a86f3e5b81
3 changed files with 13 additions and 7 deletions

1
.gitignore vendored
View File

@ -3,5 +3,6 @@
# Generated files
/assets/completions/bat.fish
/assets/completions/bat.zsh
/assets/manual/bat.1
/assets/metadata.yaml

View File

@ -1,4 +1,4 @@
#compdef bat
#compdef {{PROJECT_EXECUTABLE}}
local context state state_descr line
typeset -A opt_args
@ -19,8 +19,8 @@ _cache_subcommand() {
_arguments -S -s $args
}
(( $+functions[_bat_main] )) ||
_bat_main() {
(( $+functions[_main] )) ||
_main() {
local -a args
args=(
'(-A --show-all)'{-A,--show-all}'[Show non-printable characters (space, tab, newline, ..)]'
@ -55,7 +55,7 @@ _bat_main() {
language)
local IFS=$'\n'
local -a languages
languages=( $(bat --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
languages=( $({{PROJECT_EXECUTABLE}} --list-languages | awk -F':|,' '{ for (i = 1; i <= NF; ++i) printf("%s:%s\n", $i, $1) }') )
_describe 'language' languages
;;
@ -63,7 +63,7 @@ _bat_main() {
theme)
local IFS=$'\n'
local -a themes
themes=( $(bat --list-themes | sort) )
themes=( $({{PROJECT_EXECUTABLE}} --list-themes | sort) )
_values 'theme' $themes
;;
@ -79,7 +79,7 @@ if (( ${#words} == 2 )); then
local -a subcommands
subcommands=('cache:Modify the syntax-definition and theme cache')
_describe subcommand subcommands
_bat_main
_main
else
case $words[2] in
cache)
@ -87,7 +87,7 @@ else
;;
*)
_bat_main
_main
;;
esac
fi

View File

@ -53,6 +53,11 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
"assets/completions/bat.fish.in",
out_dir.join("assets/completions/bat.fish"),
)?;
template(
&variables,
"assets/completions/bat.zsh.in",
out_dir.join("assets/completions/bat.zsh"),
)?;
Ok(())
}