How does editor show function arguments after typing dot?
Per Wikipedia: “LSP completion is textDocument/completion request where client sends prefix and server returns completion items with label, kind and insertText.”
Completion is waiter suggesting dishes — you typed ‘use’, server suggests ‘useState, useEffect’.
- Trigger omnifunc or autotrigger
- Client sends completion request with prefix
- Server scores candidates
- Client shows popup
- User picks via CTRL-Y
- Trigger characters like . and (
- Fuzzy scoring server-side
- Snippet insert with placeholders
vim.lsp.completion.enable(true, client.id, bufnr, {autotrigger=true})- Built from: LSP Server — server provides items
- Related: LSP Client — client requests
- Builds into: Vim LSP — vim shows popup
- Contrasts with: LSP Semantic Tokens — completion vs highlighting
- Slow server — completion lag blocks typing
- No triggerCharacters — completion only on manual CTRL-X CTRL-O