Skip to content

[M10] Define editor-neutral language-service and workspace model #63

Description

@Teakowa

Parent: #27

Depends on: #62

Planning status: provisional until the M9 gate is complete.

Goal

Define Wright-owned language-service contracts for documents, workspaces/projects, positions, symbols, diagnostics, and semantic queries before introducing LSP protocol types.

Scope

  • Define document identity/version and project/workspace ownership over the existing compiler/session model.
  • Define editor-neutral requests/results for language intelligence that reuse native frontend and semantic services.
  • Define mapping between source positions/ranges and compiler source provenance.
  • Define lifecycle for open/changed/closed documents without making the filesystem state ambiguous.
  • Define capability boundaries between language-service core and protocol adapters.
  • Reuse M9 source-edit/refactoring contracts where appropriate.

Non-goals

  • Implementing LSP wire handling in core.
  • Shipping editor extensions or UI.
  • Duplicating compiler/project models solely for editors.

Acceptance criteria

  • Core language-service operations can be expressed without importing LSP types.
  • Document/workspace state has deterministic ownership and version semantics.
  • Source/project resolution matches CLI/toolchain behavior rather than creating an editor-only interpretation.
  • The model supports later diagnostics, navigation, completion, rename, and semantic-token work.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions