diff --git a/gen-go-code.py b/gen-go-code.py index 94f215ba4..1b737859e 100755 --- a/gen-go-code.py +++ b/gen-go-code.py @@ -86,6 +86,7 @@ def generate_completions_for_kitty() -> None: from kitty.config import option_names_for_completion print('package completion\n') print('import "kitty/tools/cli"') + print('import "kitty/tools/cmd/tool"') print('import "kitty/tools/cmd/at"') conf_names = ', '.join((f'"{serialize_as_go_string(x)}"' for x in option_names_for_completion())) print('var kitty_option_names_for_completion = []string{' + conf_names + '}') @@ -96,6 +97,7 @@ def generate_completions_for_kitty() -> None: print('k := root.AddSubCommand(&cli.Command{' 'Name:"kitty", SubCommandIsOptional: true, ArgCompleter: cli.CompleteExecutableFirstArg, SubCommandMustBeFirst: true })') print('kt := root.AddSubCommand(&cli.Command{Name:"kitty-tool", SubCommandMustBeFirst: true })') + print('tool.KittyToolEntryPoints(kt)') for opt in go_options_for_seq(parse_option_spec()[0]): print(opt.as_option('k')) @@ -122,7 +124,6 @@ def generate_completions_for_kitty() -> None: # @ print('at.EntryPoint(k)') - print('at.EntryPoint(kt)') # clone-in-kitty, edit-in-kitty print('cik := root.AddSubCommand(&cli.Command{Name:"clone-in-kitty"})') diff --git a/tools/cmd/main.go b/tools/cmd/main.go index d4fbebd19..6d53860f6 100644 --- a/tools/cmd/main.go +++ b/tools/cmd/main.go @@ -4,8 +4,8 @@ package main import ( "kitty/tools/cli" - "kitty/tools/cmd/at" "kitty/tools/cmd/completion" + "kitty/tools/cmd/tool" ) func main() { @@ -13,9 +13,7 @@ func main() { root.ShortDescription = "Fast, statically compiled implementations for various kitty command-line tools" root.Usage = "command [command options] [command args]" - // @ - at.EntryPoint(root) - // __complete__ + tool.KittyToolEntryPoints(root) completion.EntryPoint(root) root.Exec() diff --git a/tools/cmd/tool/main.go b/tools/cmd/tool/main.go new file mode 100644 index 000000000..98e53837a --- /dev/null +++ b/tools/cmd/tool/main.go @@ -0,0 +1,17 @@ +// License: GPLv3 Copyright: 2022, Kovid Goyal, + +package tool + +import ( + "fmt" + "kitty/tools/cli" + "kitty/tools/cmd/at" +) + +var _ = fmt.Print + +func KittyToolEntryPoints(root *cli.Command) { + // @ + at.EntryPoint(root) + +}