SSH configuration completion source for blink.cmp
  • Lua 88.8%
  • Shell 5.3%
  • Nix 4.6%
  • Just 1.3%
Find a file
Barrett Ruth 01565e7df1
All checks were successful
quality / Format (push) Successful in 4s
quality / Lint (push) Successful in 4s
quality / Test (push) Successful in 3s
deploy / LuaRocks (push) Successful in 31s
ci: fix deploy job name expression (#19)
## 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
2026-05-03 19:01:36 +00:00
.forgejo ci: fix deploy job name expression (#19) 2026-05-03 19:01:36 +00:00
.github/workflows ci: redirect GitHub PRs to Forgejo (#10) 2026-05-03 15:58:12 +00:00
lua refactor: derive enum values from man page (#4) 2026-02-22 23:39:25 -05:00
spec refactor: derive enum values from man page (#4) 2026-02-22 23:39:25 -05:00
.busted feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.editorconfig feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.gitignore feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.luarc.json ci: migrate to nix 2026-02-23 18:11:19 -05:00
biome.json ci: replace prettier with biome (#7) 2026-04-25 16:16:33 -04:00
blink-cmp-ssh-scm-1.rockspec docs: use Forgejo source URLs (#11) 2026-05-03 16:17:02 +00:00
flake.lock feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
flake.nix ci(forgejo): add justfile + .#ci flake shell, port .github/ → .forgejo/, drop non-quality workflows 2026-05-01 12:02:35 +00:00
justfile ci(forgejo): add justfile + .#ci flake shell, port .github/ → .forgejo/, drop non-quality workflows 2026-05-01 12:02:35 +00:00
LICENSE chore: switch LICENSE to GPLv3 (post-remigrate) 2026-05-01 12:02:17 +00:00
README.md docs: use vim.pack installs and add Luarocks workflow (#12) 2026-05-03 16:36:19 +00:00
selene.toml ci: migrate to nix 2026-02-23 18:11:19 -05:00
stylua.toml feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
vim.yaml ci: migrate to nix 2026-02-23 18:11:19 -05:00

blink-cmp-ssh

SSH configuration completion source for blink.cmp.

blink-cmp-ssh preview

Features

  • Completes ssh_config keywords 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_config and ssh -Q

Requirements

  • Neovim 0.10.0+
  • blink.cmp
  • ssh and man executables

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',
      },
    },
  },
})