aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShohei YOSHIDA <syohex@gmail.com>2023-09-18 00:04:08 +0900
committerGitHub <noreply@github.com>2023-09-18 00:04:08 +0900
commitbed209ca6454d2fab69654e79a47e716a4efff61 (patch)
treecce179a3e1fee16cf8a06aac1ebac577e5a177ae /src
parentMerge pull request #1043 from zsh-users/update-fwupdmgr (diff)
parentimplement suggestions (diff)
downloadzsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar.gz
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar.bz2
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar.lz
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar.xz
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.tar.zst
zsh-completions-bed209ca6454d2fab69654e79a47e716a4efff61.zip
Merge pull request #1039 from johannes87/master
Add completion script for chatblade
Diffstat (limited to 'src')
-rw-r--r--src/_chatblade63
1 files changed, 63 insertions, 0 deletions
diff --git a/src/_chatblade b/src/_chatblade
new file mode 100644
index 0000000..62d12e6
--- /dev/null
+++ b/src/_chatblade
@@ -0,0 +1,63 @@
+#compdef chatblade
+# ------------------------------------------------------------------------------
+# Description
+# -----------
+#
+# Completion script for chatblade (https://github.com/npiv/chatblade)
+#
+# ------------------------------------------------------------------------------
+# Authors
+# -------
+#
+# * Johannes Bittner (https://github.com/johannes87)
+#
+# ------------------------------------------------------------------------------
+
+_chatblade() {
+ local -a args
+ local context state state_descr line
+ typeset -A opt_args
+
+ args+=(
+ '(- *)'{-h,--help}'[show this help message and exit]'
+ '--openai-api-key[the OpenAI API key can also be set as env variable OPENAI_API_KEY]:key'
+ '--temperature[temperature (openai setting)]:temperature'
+ '(-c --chat-gpt)'{-c,--chat-gpt}'[chat GPT model 3.5/4 shorthand or full qualified model name, can also be set via env variable OPENAI_API_MODEL]:chat GPT model:(3.5 4)'
+ '(-i --interactive)'{-i,--interactive}'[start an interactive chat session. This will implicitly continue the conversation]'
+ '(-s --stream)'{-s,--stream}'[Stream the incoming text to the terminal]'
+ '(-t --tokens)'{-t,--tokens}'[display what *would* be sent, how many tokens, and estimated costs]'
+ '(-p --prompt-file)'{-p,--prompt-file}'[prompt name - will load the prompt with that name at ~/.config/chatblade/name or a path to a file]:prompt file:_files'
+ '(-e --extract)'{-e,--extract}'[extract content from response if possible (either json or code block)]'
+ '(-r --raw)'{-r,--raw}'[print session as pure text, dont pretty print or format]'
+ '(-n --no-format)'{-n,--no-format}'[do not add pretty print formatting to output]'
+ '(-o --only)'{-o,--only}'[Only display the response, omit query]'
+ '--theme[Set the theme for syntax highlighting see https://pygments.org/styles/, can also be set with CHATBLADE_THEME]:theme:_values "theme" default emacs friendly manni monokai'
+ '(-l --last)'{-l,--last}'[alias for -S last, the default session if none is specified]'
+ '(-S --session)'{-S,--session}'[initiate or continue named session]:session:->sessions'
+ '--session-list[list sessions]'
+ '--session-path[show path to session file]'
+ '--session-dump[dump session to stdout]'
+ '--session-delete[delete session]'
+ '--session-rename[rename session]:new session:->sessions'
+ )
+
+ _arguments -s $args
+
+ case $state in
+ (sessions)
+ local -a sessions
+ sessions=("${(@f)$(chatblade --session-list)}")
+ _describe 'session' sessions
+ ;;
+ esac
+}
+
+_chatblade
+
+# Local Variables:
+# mode: Shell-Script
+# sh-indentation: 2
+# indent-tabs-mode: nil
+# sh-basic-offset: 2
+# End:
+# vim: ft=zsh sw=2 ts=2 et