feat(opencode): add completion and alias plugin for opencode

Signed-off-by: Pranav Avva <pranav.avva@gmail.com>
This commit is contained in:
Pranav Avva 2026-01-28 13:23:20 -05:00
commit ef36dc215e
No known key found for this signature in database
GPG key ID: F128CFEF71804E99
2 changed files with 53 additions and 0 deletions

View file

@ -0,0 +1,25 @@
# opencode plugin
This plugin adds several aliases and shell completion for the [`opencode`](https://opencode.ai) command line tool from Anomaly Innovations.
To use it, add `opencode` to the plugins array of your `.zshrc` file:
```zsh
plugins=(... opencode)
```
## Installation
See the [opencode docs](https://opencode.ai/docs#install) for installation instructions.
## Aliases
|Alias|Command|Description|
|-|-|-|
|`oc`|`opencode`|Run the `opencode` command|
|`ocr`|`opencode run` |Run `opencode` with a message|
## Completions
This plugin configures shell completion for the `opencode` command.

View file

@ -0,0 +1,28 @@
if ! (( $+commands[opencode] )); then
print "zsh opencode plugin: opencode not found. Please install opencode before using this plugin." >&2
return 1
fi
# See `opencode completion`
_opencode_yargs_completions() {
local reply
local si=$IFS
IFS=$'
' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" opencode --get-yargs-completions "${words[@]}"))
IFS=$si
if [[ ${#reply} -gt 0 ]]; then
_describe 'values' reply
else
_default
fi
}
if [[ "'${zsh_eval_context[-1]}" == "loadautofunc" ]]; then
_opencode_yargs_completions "$@"
else
compdef _opencode_yargs_completions opencode
fi
# Aliases
alias oc="opencode"
alias ocr="opencode run"