Skip to content

lsp: add Language Server Protocol module#1888

Merged
brharrington merged 4 commits intoNetflix:mainfrom
brharrington:lsp-module
Mar 25, 2026
Merged

lsp: add Language Server Protocol module#1888
brharrington merged 4 commits intoNetflix:mainfrom
brharrington:lsp-module

Conversation

@brharrington
Copy link
Copy Markdown
Contributor

Add atlas-lsp module implementing LSP for Atlas Stack Language and graph URI documents. Provides real-time editor support including diagnostics, completions, hover, semantic tokens, code actions, document symbols, and go-to-definition.

Two server variants:

  • AslLspServer for standalone ASL expressions
  • UriLspServer for graph API URIs with embedded expressions

Key components:

  • AslDocumentAnalyzer: expression analysis with typed parameter diagnostics, word completions, glossary integration, format/ normalize/compress code actions, and semantic highlighting
  • UriDocumentAnalyzer: URI-aware wrapper that parses query parameters, delegates expression analysis to ASL, and shifts positions between raw/decoded/URI coordinate spaces
  • Glossary: JSON-driven metric and tag key documentation for hover and completion enrichment
  • AslTokenTypes: semantic token type mapping for LSP

Java classes are used for LSP4j server interfaces due to annotation interop requirements with the LSP4j framework.

Includes a Monaco-based test client for browser testing.

Add atlas-lsp module implementing LSP for Atlas Stack Language
and graph URI documents. Provides real-time editor support
including diagnostics, completions, hover, semantic tokens,
code actions, document symbols, and go-to-definition.

Two server variants:
- AslLspServer for standalone ASL expressions
- UriLspServer for graph API URIs with embedded expressions

Key components:
- AslDocumentAnalyzer: expression analysis with typed parameter
  diagnostics, word completions, glossary integration, format/
  normalize/compress code actions, and semantic highlighting
- UriDocumentAnalyzer: URI-aware wrapper that parses query
  parameters, delegates expression analysis to ASL, and shifts
  positions between raw/decoded/URI coordinate spaces
- Glossary: JSON-driven metric and tag key documentation for
  hover and completion enrichment
- AslTokenTypes: semantic token type mapping for LSP

Java classes are used for LSP4j server interfaces due to
annotation interop requirements with the LSP4j framework.

Includes a Monaco-based test client for browser testing.
@brharrington brharrington added this to the 1.9.0 milestone Mar 25, 2026
Removed the TODO section outlining future enhancements and features.
@brharrington brharrington merged commit eea6889 into Netflix:main Mar 25, 2026
5 checks passed
@brharrington brharrington deleted the lsp-module branch March 25, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant