Completion System
Fast, smart, no config needed.
Three-tier architecture
Hash tries completers in priority order:
| Tier | Source | Latency | Example |
|---|---|---|---|
| 1 | Tool-native (Cobra) | 10–200ms | kubectl get po<TAB> → pods |
| 2 | Filesystem | <10ms | ./sr<TAB> → ./src/ |
| 3 | Agent fallback | 200–800ms | Complex context-aware completions |
How it works
- Parse current word and cursor position
- Try Tier 1: Run
tool __complete args...if tool supports Cobra - Try Tier 2: List matching files/directories
- Try Tier 3: Ask agent (if configured and no results yet)
- Return first non-empty result
Supported tools (Tier 1)
Any tool built with Cobra that supports __complete:
- kubectl, helm
- docker, podman
- aws, gcloud, az
- terraform
- And many more...
File completion details
- Tilde expansion:
~/→ home directory - Hidden files: shown if prefix starts with
. - Directory indicator:
/appended - Preserves
./prefix (e.g.,./src<TAB>→./src/)
Fuzzy matching
When enabled, completion items are fuzzy-filtered by subsequence matching:
idxmatchesindex.js,index.htmlmntsmatchesmain_test.go
config.toml
[completions]
fuzzy = true
fuzzy = true
Icons
File type icons (requires Nerd Font):
.go→ Go gopher.py→ Python.js/.ts→ JavaScript/TypeScript- Directories → folder icon
config.toml
[completions]
file_icons = true # default
file_icons = true # default