Completion Specification
Status
- Type: Normative
- Stability: Draft
Goal
Provide fast, context-aware completion for LaTeX editing.
Completion Categories
- Commands (built-in + indexed)
- Environments
- Labels (for
\\ref-like commands) - Citations (for
\\cite-like commands) - Packages (for
\\usepackage) - File paths (for
\\input,\\include,\\includegraphics)
Context Detection
Completion must be context-sensitive:
- if cursor is after
\\, suggest commands - if inside
{}of\\ref{...}, suggest labels - if inside
{}of\\cite{...}, suggest bib keys - if inside
\\begin{...}, suggest environment names
Context detection SHOULD be based on:
- CST node ancestry
- local token neighborhood (bounded)
Ranking
Ranking signals (best-effort):
- proximity (same file)
- reference count
- recency (recently used)
- exact prefix match
Snippets
Completion items MAY include snippets for:
\\begin{env} ... \\end{env}- common environments (itemize, enumerate, figure, table)
Performance
Completion MUST be:
- cancellable
- bounded in time
- served from indices where possible