Problem: the existing blink-cmp-sshconfig plugin uses a synchronous, build-time Python scraping approach that requires uv and make to generate a static Lua file. Solution: implement a runtime, async blink.cmp source that parses ssh_config keywords from man ssh_config and enum values from ssh -Q queries, matching the architecture of blink-cmp-tmux and blink-cmp-ghostty.
936 B
936 B
blink-cmp-ssh
SSH configuration completion source for blink.cmp.
Features
- Completes
ssh_configkeywords with man page documentation - Provides enum values for keywords with known option sets (ciphers, MACs, key exchange algorithms, etc.)
- Keyword and enum data fetched asynchronously at runtime via
man ssh_configandssh -Q
Requirements
- Neovim 0.10.0+
- blink.cmp
sshandmanexecutables
Installation
Install via luarocks:
luarocks install blink-cmp-ssh
Or with lazy.nvim:
{
'saghen/blink.cmp',
dependencies = {
'barrettruth/blink-cmp-ssh',
},
opts = {
sources = {
default = { 'ssh' },
providers = {
ssh = {
name = 'SSH',
module = 'blink-cmp-ssh',
},
},
},
},
}