No description
Find a file
Barrett Ruth a145b2648a
fix: tighten keyword detection to avoid preamble false positives
Problem: the 2-space inline keyword pattern matched preamble lines
like "The  possible keywords" where "The" was detected as a keyword.

Solution: require an uppercase letter after the 2 spaces, matching
real inline definitions (Tunnel  Request, SetEnv  Directly) but not
preamble text where the next word is lowercase.
2026-02-22 23:37:06 -05:00
.github feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
lua fix: tighten keyword detection to avoid preamble false positives 2026-02-22 23:37:06 -05:00
spec refactor: derive enum values from man page instead of hardcoding 2026-02-22 23:34:47 -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 feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.pre-commit-config.yaml feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.prettierignore feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
.prettierrc feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
blink-cmp-ssh-scm-1.rockspec feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
flake.lock feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
flake.nix feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
LICENSE feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
README.md Update README to include image and features 2026-02-22 21:28:02 -05:00
selene.toml feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
stylua.toml feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00
vim.toml feat: initial blink-cmp-ssh implementation 2026-02-22 21:04:15 -05:00

blink-cmp-ssh

SSH configuration completion source for blink.cmp.

image

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

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