feat: add live-cycling LSP completion

This commit is contained in:
2026-10-10 18:32:39 +02:00
parent 9d3b25e9d3
commit b6059d5ed9
11 changed files with 1916 additions and 55 deletions
+2 -1
View File
@@ -22,6 +22,7 @@ Vamp starts in Normal mode. Press `i`, type text, then Esc to return to Normal.
| Move in Normal | `h`/`j`/`k`/`l` or arrows; `w`/`b`/`e` for words |
| First/last line in Normal or Visual | `gt` / `gb`, at first nonblank; Visual extends the selection |
| Enter/leave Insert | `i` / Esc |
| Manual LSP completion in Insert | Ctrl+n starts/cycles next; Ctrl+j/k cycles next/previous, replacing text live |
| Save in Normal | Space then `w`, or `:w` then Enter |
| Undo/redo in Normal | `u` / `U` (Shift+u) |
| Search in Normal | `/`, type a literal query, Enter; `n`/`N` for next/previous |
@@ -44,7 +45,7 @@ Ruby configuration and plugins run with your account's filesystem/process permis
- One visible buffer at a time; no splits/tabs or graphical frontend.
- Modal editing, not full Vim compatibility: characterwise and linewise Visual selections, but no block selection, named registers, or Vim operators. Search is literal, case-sensitive, and single-line.
- Native opt-in LSP supports diagnostics, go-to-definition, plain-text hover, and automatic semantic highlighting—not completion, rename, formatting, or code actions.
- Native opt-in LSP supports diagnostics, go-to-definition, plain-text hover, manual primary-caret completion, and automatic semantic highlighting—not rename, formatting, or code actions. Completion has no automatic popup, snippets, or acceptance step; other carets are preserved and translated through the chosen edits.
- System clipboard access supports macOS and Linux. Separate clipboard mode keeps internal editing available on unsupported/headless environments.
Performance and subprocess limits are documented in [development](docs/development.md#performance-and-process-limits).