Skip to content

Web IDE: full LSP alignment (highlighting, folding) + automated test suite #13

@shockwave-bot

Description

@shockwave-bot

Track the web IDE's broader alignment to the LSP and the automated test suite. Implemented in #12 (per request, all in one MR).

LSP alignment (web IDE sources language intelligence from the compiler)

  • Completion — shared engine (pseudoscript-model::complete), wasm export, IDE consumes it
  • Semantic highlighting — extract AST-aware tokens to pseudoscript-model::semantic; wasm semantic_tokens; IDE decorates them; delete the JS StreamLanguage tokenizer + keyword lists
  • Folding — extract to pseudoscript-model::fold; wasm folding_ranges; IDE folds compiler ranges; delete blocks.js
  • Formatting / diagnostics / hover / definition / references / outline — already wasm-backed (audit confirmed)

Not moved (deliberate)

  • Syntax-highlight colours stay client-side (presentation, not language knowledge)
  • Rename / inlay hints / document-highlight are absent features, not JS reimplementations — out of scope

Test suite (data-testid throughout, no brittle selectors)

  • Vitest + Testing Library — unit (offset conversion) + component (FileTree data-testid contract)
  • Playwright e2e — highlighting roles, completion scoping + prefix-narrowing, compiler folding
  • Storybook (@storybook/sveltekit) — FileTree stories
  • data-testid on file rows, editor host, sample cards

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions