prometeu-studio/discussion/workflow/agendas/AGD-0052-pbs-lsp-completion-depth.md
bQUARKz 099857b636
implements PLN-0137 (1/7) diagnostic-source
Lock DSC-0066 on Q1-A and Q2-A. Retire AGD-0048 through AGD-0056
into AGD-0069, DEC-0058, and PLN-0137.

Published editor diagnostics use the bound frontend language id as
source. For PBS that is pbs. The stable compiler code stays in code
and is not copied into source. Related locations, phase, and repair
payload stay unpublished.
2026-09-22 08:11:06 +01:00

2.2 KiB

id ticket title status created resolved decision tags
AGD-0052 pbs-lsp-completion-depth PBS LSP Completion Depth abandoned 2026-07-15
studio
lsp
vscode
compiler-pbs
editor
completion

Pain

Domain owner: studio/lsp

PBS completion works for core cases, but a complete daily-use experience needs ranking, resolve details, snippets, overload handling, context-aware suggestions, and richer documentation.

Context

The current LSP announces completion with trigger character '.' and returns detail/documentation for resolved compiler candidates. It does not use resolveProvider, snippets, broad trigger contexts, or advanced ranking.

Open Questions

  • Which completion contexts should be supported first beyond member access?
  • Should completion use resolveProvider for expensive documentation/details or return everything eagerly?
  • How should overloads, snippets, imports, keywords, and stdlib candidates be ranked?

Options

Option A - Eager rich completion

  • Approach: Return labels, details, docs, and snippets directly in every completion response.
  • Pro: Simple client behavior and immediate docs.
  • Con: Can become expensive for broad/global completion.
  • Maintainability: Good while candidate sets remain small.

Option B - Completion resolve provider

  • Approach: Return lightweight candidates first and populate expensive docs/details through completionItem/resolve.
  • Pro: Scales better for large candidate sets and import-aware suggestions.
  • Con: Requires client/server resolve plumbing and stable candidate identities.
  • Maintainability: Strong for a full LSP.

Tradeoffs

The current eager model is fine for scoped completions, but global/import-aware completion may need resolve to avoid latency.

Recommendation

Prefer a staged approach: keep eager for current contexts, design resolve before broad workspace/import completion.

Discussion

Define completion contexts and ranking before adding snippets or resolve.

Resolution

Aposentada em 2026-09-22. O tema foi consolidado em AGD-0069 / DSC-0066. Este texto não é normativo.

Next Step

List first-wave completion contexts beyond member access.