49 lines
1.2 KiB
Markdown
49 lines
1.2 KiB
Markdown
---
|
|
title: Completion script
|
|
state: completed
|
|
---
|
|
|
|
Read the AGENTS.md and README.md to get understanding of the project.
|
|
|
|
In the `usage.md` file, I have completion section. Instead of showing the completion scripts I want you to add a new command: `setup-completion`.
|
|
|
|
The command shows the completion instructions. Here is an example of `opencode`:
|
|
|
|
```bash
|
|
|
|
[main][~/dotfiles]$ opencode completion
|
|
#compdef opencode
|
|
###-begin-opencode-completions-###
|
|
#
|
|
# yargs command completion script
|
|
#
|
|
# Installation: opencode completion >> ~/.zshrc
|
|
# or opencode completion >> ~/.zprofile on OSX.
|
|
#
|
|
_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
|
|
###-end-opencode-completions-###
|
|
```
|
|
|
|
The command detects if bash or zsh is active.
|
|
|
|
If should be possible to `task setup-completion >> ~/.zshrc`
|
|
|
|
Add the new commands to the `library.md` in the LLM section.
|