SSH configuration completion source for blink.cmp
- Lua 88.8%
- Shell 5.3%
- Nix 4.6%
- Just 1.3%
## Problem The consolidated deploy workflow uses one publish job with a dynamic job name. On main pushes, Forgejo rendered the job as `deploy / LuaRocks` instead of `deploy / Nightly`, even though the step-level `github.ref` conditions still selected the correct publish path. ## Solution Use `github.ref` for the job-name expression, matching the step conditions and the runner-provided compatibility context. This keeps the one-file `deploy.yaml` layout while preserving the expected rendered names. Validation: - parsed `.forgejo/workflows/*.yaml` with PyYAML via Nix - `git diff --check` Reviewed-on: #19 |
||
|---|---|---|
| .forgejo | ||
| .github/workflows | ||
| lua | ||
| spec | ||
| .busted | ||
| .editorconfig | ||
| .gitignore | ||
| .luarc.json | ||
| biome.json | ||
| blink-cmp-ssh-scm-1.rockspec | ||
| flake.lock | ||
| flake.nix | ||
| justfile | ||
| LICENSE | ||
| README.md | ||
| selene.toml | ||
| stylua.toml | ||
| vim.yaml | ||
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
With vim.pack (Neovim 0.12+):
vim.pack.add({
'https://git.barrettruth.com/barrettruth/blink-cmp-ssh',
})
Or via luarocks:
luarocks install blink-cmp-ssh
Configure blink.cmp:
require('blink.cmp').setup({
sources = {
default = { 'ssh' },
providers = {
ssh = {
name = 'SSH',
module = 'blink-cmp-ssh',
},
},
},
})