From b50d6634b9e968dda0ea7c4147109a8ecd2de963 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juan=20Carlos=20Graells=20P=C3=A9rez?= <111773685+JuanCaarPapers@users.noreply.github.com> Date: Sat, 27 Dec 2025 20:12:03 +0100 Subject: [PATCH] Add shell completion script for Jules commands --- plugins/jules/_jules | 59 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 plugins/jules/_jules diff --git a/plugins/jules/_jules b/plugins/jules/_jules new file mode 100644 index 000000000..e767e3794 --- /dev/null +++ b/plugins/jules/_jules @@ -0,0 +1,59 @@ +#compdef jules + +_jules() { + local line + + _arguments -C \ + "1: :->command" \ + "*::arg:->args" + + case $state in + command) + local -a commands + commands=( + 'login:Sign in to Jules with your Google account' + 'logout:Sign out of the current session' + 'remote:Manage repositories and remote sessions' + 'version:Show the installed version of Jules' + 'help:Show general help or help for a specific command' + 'completion:Generate shell autocompletion scripts' + ) + _describe -t commands 'jules command' commands + ;; + args) + case $words[1] in + remote) + _arguments \ + "1: :->remote_cmd" \ + "*::arg:->remote_args" + + case $state in + remote_cmd) + local -a remote_commands + remote_commands=( + 'list:List connected repositories or active sessions' + 'new:Start a new Jules session in a repository' + 'pull:Download the results of a session' + ) + _describe -t remote_commands 'remote command' remote_commands + ;; + remote_args) + _arguments \ + '--repo[Specify the repository (e.g. user/repo)]:repo:_files' \ + '--session[Session name or ID]:session:' \ + '--parallel[Number of parallel sessions]:count:' \ + '--theme[Interface theme (light/dark)]:theme:(light dark)' + ;; + esac + ;; + *) + _arguments \ + '(-h --help)'{-h,--help}'[Show help]' \ + '--theme[Set the visual theme]:theme:(light dark)' + ;; + esac + ;; + esac +} + +_jules "$@"