diff --git a/zsh_template.tmpl b/zsh_template.tmpl deleted file mode 100644 index 4384625..0000000 --- a/zsh_template.tmpl +++ /dev/null @@ -1,56 +0,0 @@ -{{define "complexFlag"}}{{ /* for pflag.Flag with short and long options */ -}} -"(-{{.Shorthand}} --{{.Name}})"\{-{{.Shorthand}}, --{{.Name}}\}[{{.Usage}}] -{{- end}} - -{{define "simpleFlag"}}{{ /* for pflag.Flag with either short or long options */ -}} -"{{with .Name}}-{{.}}{{else}}--{{.Shorthand}}{{end}}[{{.Usage}}]" -{{- end}} - -{{define "argumentsC"}} -{{- /* should accept Command (that contains subcommands) as parameter */ -}} -function {{constructPath .}} { - local line - - _arguments -C \ -{{range extractFlags . -}} - {{if simpleFlag .}}{{template "simpleFlag" .}}{{else}}{{template "complexFlag" .}}{{end}} \ -{{end -}} - "1: :({{subCmdList .}})" \ - "*:arg:->args" - - case $line[1] in -{{range .Commands -}} - {{.Use}}) - {{constructPath .}} - ;; -{{end -}} - esac -} -{{range .Commands -}} - -{{template "selectCmdTemplate" .}} -{{end -}} -{{end}} - -{{define "arguments"}} -function {{constructPath .}} { -{{- /* should accept Command without subcommands as parameter */ -}} -{{with extractFlags . -}} - _arguments \ -{{range .}} - {{if simpleFlag .}}{{template "simpleFlag" .}}{{else}}{{template "complexFlag" .}}{{end}} \ -{{end -}} -{{ /* leave this line empty because of the last backslash */ }} -{{end -}} -} -{{end}} - -{{define "selectCmdTemplate" -}} -{{with .Commands}}{{template "argumentsC" .}}{{else}}{{template "arguments" .}}{{end}} -{{end -}} - -{{define "Main"}} -#compdef _{{.Use}} {{.Use}} - -{{template "selectCmdTemplate" .}} -{{end}}