Script receivers 4/6: language server features for scripts #515
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Slice 5 of Design:
docs/design/SCRIPT-RECEIVERS.md(branchdocs/script-receivers). Part of the script-receivers epic.Language server features for scripts (section 7).
Scope
project.trbmapping, else inferred from the literal loads the server can see, else untyped (drop the receiver special cases inanalysis.trb,projects.trb,workspace.trb).self, the pattern (matched files) andreceiver:; completion of receiver members; definition (member,receiver:,from:, load literal); references of a receiver type incl.scriptslines and mapped scripts; rename of the type rewritesreceiver:; document links; semantic tokens; quick fixes ("Add to project.trb" on the D15 hint, "Load it asU" on D14).torbscript/scriptReceiversrequest.Acceptance
tests/lsp/session: a mapped script opened alone gets hover, completion and definition into the receiver type.tests/lsp/session: an unmapped script opened alone is untyped and gets no diagnostics; the same script in a project whose literal load names it is typed from the load.ServerConfigin config-dsl include thescriptsline andconfig.trb.receiver:inproject.trb.torbscript/scriptReceiversanswers per document and per project (sourcemapping/load, ornotMatchedfor an untyped script), pinned incompiler/tests/language-server.test.trb.Amended 2026-10-26 (owner): the
scriptsmapping is optional; unmapped scripts stay valid and are typed by inference from literalSandbox.loadcalls, else untyped (SCRIPT-RECEIVERS.md sections 1, 5, 6).$\n\nDecided 2026-10-26 (owner): the "Add to project.trb" quick fix on the D15 hint is always offered, by default and not configurable. Extra acceptance:Design PR: #519 · Epic: #518
[loop:torbscript] intake: in scope (author orion, label
loop, slice 4 of the script-receivers epic #518); no duplicate. The language server features need the receiver resolution of #513 and the diagnostics of #514. Just in time: refine when #514 has landed. next: waiting (#514 landed)