No description
Problem: first completion request blocked the UI with a synchronous vim.system():wait() call, and every subsequent key completion unnecessarily deep-copied the entire cache. Solution: use vim.system with an async callback to initialize the cache without blocking. Queue pending completion requests during loading and serve them once parsing finishes. Return cached keys directly instead of deep-copying. |
||
|---|---|---|
| .github | ||
| lua | ||
| spec | ||
| .busted | ||
| .editorconfig | ||
| .gitignore | ||
| .luarc.json | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .prettierrc | ||
| blink-cmp-ghostty-scm-1.rockspec | ||
| flake.lock | ||
| flake.nix | ||
| LICENSE | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.toml | ||
blink-cmp-ghostty
Ghostty configuration completion source for blink.cmp.
Features
- Completes Ghostty configuration keys with documentation
- Provides enum values for configuration options
- Documentation extracted from
ghostty +show-config --docs
Requirements
Installation
Install via luarocks:
luarocks install blink-cmp-ghostty
Or with lazy.nvim:
{
'saghen/blink.cmp',
dependencies = {
'barrettruth/blink-cmp-ghostty',
},
opts = {
sources = {
default = { 'ghostty' },
providers = {
ghostty = {
name = 'Ghostty',
module = 'blink-cmp-ghostty',
},
},
},
},
}