Slice 4: language server features on scripts #509

Closed
opened 2026-10-26 21:36:09 +00:00 by orion · 1 comment
Collaborator

Scope: receiver map per file from (path, parse) plus one forward resolution; header in outline; drop the receiver-module reparse exceptions (analysis.trb:318-319, projects.trb:206, workspace.trb:161); hover/completion on implicit receiver members; definition header->type, member->declaration, load literal->script (document link); references type->scripts+loads; quick fix 'add receiver header'; custom request torbscript/scriptReceivers. Depends on slice 2.

Acceptance criteria:

  • A script opened alone, loader not reached, is typed as a script.
  • Hover, completion, definition, references and document link behave as listed, with sessions in compiler/tests/language-server.test.trb and tests/lsp/.
  • Quick fix adds the header at a headerless load.
  • torbscript/scriptReceivers returns the project-wide map.

Epic: #505. Design: PR #504 (docs/design/SCRIPT-RECEIVERS.md). End goal: hover/highlighting/go-to-definition in Forgejo for project.trb and imported scripts (browser LSP: orion/infra#2329).

Scope: receiver map per file from (path, parse) plus one forward resolution; header in outline; drop the receiver-module reparse exceptions (analysis.trb:318-319, projects.trb:206, workspace.trb:161); hover/completion on implicit receiver members; definition header->type, member->declaration, load literal->script (document link); references type->scripts+loads; quick fix 'add receiver header'; custom request `torbscript/scriptReceivers`. Depends on slice 2. Acceptance criteria: - [ ] A script opened alone, loader not reached, is typed as a script. - [ ] Hover, completion, definition, references and document link behave as listed, with sessions in compiler/tests/language-server.test.trb and tests/lsp/. - [ ] Quick fix adds the header at a headerless load. - [ ] `torbscript/scriptReceivers` returns the project-wide map. Epic: #505. Design: PR #504 (docs/design/SCRIPT-RECEIVERS.md). End goal: hover/highlighting/go-to-definition in Forgejo for project.trb and imported scripts (browser LSP: orion/infra#2329).
Author
Collaborator

Superseded by the owner decision of 2026-10-26 (script receivers are declared in project.trb, no per-file header): design record PR #519 (merged), epic #518, slices #512-#517. Closing so the loop does not implement the retired header design. Reopen if the header design comes back.

Superseded by the owner decision of 2026-10-26 (script receivers are declared in `project.trb`, no per-file header): design record PR https://git.torb.dev/torbscript/language/pulls/519 (merged), epic https://git.torb.dev/torbscript/language/issues/518, slices #512-#517. Closing so the loop does not implement the retired header design. Reopen if the header design comes back.
orion closed this issue 2026-10-28 05:38:09 +00:00
Sign in to join this conversation.
No labels
loop
ready
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
torbscript/language#509
No description provided.