• ↑↓ pour naviguer
  • pour ouvrir
  • pour sélectionner
  • ⌘ ⌥ ↵ pour ouvrir dans un panneau
  • ←→ pour naviguer
  • esc pour rejeter
⌘ '
raccourcis clavier

The Problem

How does editor show function arguments after typing dot?

Formal Definition

Per Wikipedia: “LSP completion is textDocument/completion request where client sends prefix and server returns completion items with label, kind and insertText.”

Explanation

Completion is waiter suggesting dishes — you typed ‘use’, server suggests ‘useState, useEffect’.

How It Works

  1. Trigger omnifunc or autotrigger
  2. Client sends completion request with prefix
  3. Server scores candidates
  4. Client shows popup
  5. User picks via CTRL-Y

Visual Explanation

lsp_completion A Prefix B Server Rank A->B step 1 C Popup B->C step 2

Semantic Network

semantic_lsp_completion THIS LSP Completion REL1 Related THIS--REL1 related REL2 Prereq THIS--REL2 builds from

Key Properties

  • Trigger characters like . and (
  • Fuzzy scoring server-side
  • Snippet insert with placeholders

Real-World Example

vim.lsp.completion.enable(true, client.id, bufnr, {autotrigger=true})

Connections

Edge Cases & Gotchas

  • Slow server — completion lag blocks typing
  • No triggerCharacters — completion only on manual CTRL-X CTRL-O