From 6dbe39c2c4dd4c569100118239af2454e43baab9 Mon Sep 17 00:00:00 2001 From: Anton Volnuhin Date: Mon, 8 May 2023 05:48:02 +0300 Subject: [PATCH] shell.fish fix + scripts/ss.py for shellgpt --- private_dot_config/private_fish/config.fish | 2 +- .../private_fish/fish_variables | 2 +- private_dot_config/scripts/executable_ss.py | 49 +++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 private_dot_config/scripts/executable_ss.py diff --git a/private_dot_config/private_fish/config.fish b/private_dot_config/private_fish/config.fish index 601ac97..9e230a7 100644 --- a/private_dot_config/private_fish/config.fish +++ b/private_dot_config/private_fish/config.fish @@ -43,7 +43,7 @@ if test -f /usr/local/Caskroom/miniconda/base/bin/conda end # <<< conda initialize <<< - source shell.fish + source ~/.config/fish/shell.fish end diff --git a/private_dot_config/private_fish/fish_variables b/private_dot_config/private_fish/fish_variables index 1609e75..8d3c978 100644 --- a/private_dot_config/private_fish/fish_variables +++ b/private_dot_config/private_fish/fish_variables @@ -34,7 +34,7 @@ SETUVAR _tide_prompt_29777:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5b SETUVAR _tide_prompt_34539:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u25b6\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m18\x3a04\x3a49\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm SETUVAR _tide_prompt_35266:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u25b6\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m18\x3a06\x3a49\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm SETUVAR _tide_prompt_36013:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u276e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m18\x3a08\x3a39\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm -SETUVAR _tide_prompt_41715:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b6\x1b\x5b38\x3b2\x3b135\x3b175\x3b175m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20I\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2571\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0bc\x1e\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0ba\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2571\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2005\x3a45\x3a16\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b4 +SETUVAR _tide_prompt_42959:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b6\x1b\x5b38\x3b2\x3b135\x3b175\x3b175m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20I\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2571\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\x40PWD\x40\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0bc\x1e\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0ba\x1b\x5b38\x3b2\x3b95\x3b175\x3b0m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x20\u2714\x20\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\u2571\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m\x1b\x5b48\x3b2\x3b48\x3b48\x3b48m\x2005\x3a47\x3a08\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b48\x3b48\x3b48m\ue0b4 SETUVAR _tide_prompt_4468:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u276f\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m20\x3a13\x3a25\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm SETUVAR _tide_prompt_46838:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b148\x3b148\x3b148m\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b37m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0mmaster\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x1b\x5b38\x3b2\x3b255\x3b0\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x1b\x5b38\x3b2\x3b215\x3b175\x3b0m\x20\x212\x1b\x5b38\x3b2\x3b0\x3b175\x3b255m\x20\x3f2\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u276f\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m06\x3a16\x3a28\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm SETUVAR _tide_prompt_50535:\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x40PWD\x40\x1b\x5b38\x3b2\x3b95\x3b215\x3b0m\x20\u25b6\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1e\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x20\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x5b38\x3b2\x3b95\x3b135\x3b135m01\x3a51\x3a58\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm\x1b\x28B\x1b\x5bm diff --git a/private_dot_config/scripts/executable_ss.py b/private_dot_config/scripts/executable_ss.py new file mode 100644 index 0000000..c4e9956 --- /dev/null +++ b/private_dot_config/scripts/executable_ss.py @@ -0,0 +1,49 @@ +import argparse +import subprocess +import shlex + +def main(): + sgpt_options_parser = argparse.ArgumentParser(add_help=False) + sgpt_options_parser.add_argument('--model', type=str, choices=['gpt-3.5-turbo', 'gpt-4', 'gpt-4-32k']) + sgpt_options_parser.add_argument('--temperature', type=float) + sgpt_options_parser.add_argument('--top-probability', type=float) + sgpt_options_parser.add_argument('--cache', action="store_true") + sgpt_options_parser.add_argument('--no-cache', action="store_true") + sgpt_options_parser.add_argument('--chat', type=str) + sgpt_options_parser.add_argument('-s', '--shell', action='store_true') + sgpt_options_parser.add_argument('--code', action='store_true') + sgpt_options_parser.add_argument('--no-code', action='store_true') + sgpt_options_parser.add_argument('--editor', action="store_true") + sgpt_options_parser.add_argument('--no-editor', action="store_true") + sgpt_options_parser.add_argument('--repl', type=str) + sgpt_options_parser.add_argument('--show-chat', type=str) + sgpt_options_parser.add_argument('--list-chat', action="store_true") + sgpt_options_parser.add_argument('--no-list-chat', action="store_true") + + sgpt_options, remaining_args = sgpt_options_parser.parse_known_args() + + query_parser = argparse.ArgumentParser() + query_parser.add_argument('query', nargs=argparse.REMAINDER, help='The prompt to generate completions for') + + query_args = query_parser.parse_args(remaining_args) + + command = "sgpt" + + for key, value in vars(sgpt_options).items(): + if value: + if key == 'shell': + command += f" -s" + else: + if isinstance(value, bool): + command += f" --{key.replace('_', '-')}" + else: + command += f" --{key.replace('_', '-')} {value}" + + if query_args.query: + prompt = ' '.join(query_args.query) + command += f' "{prompt}"' + + subprocess.call(shlex.split(command)) + +if __name__ == "__main__": + main()