Skip to content

Secret gist3 - #3

Draft
JavadAsadi wants to merge 8 commits into
masterfrom
secret-gist3
Draft

Secret gist3#3
JavadAsadi wants to merge 8 commits into
masterfrom
secret-gist3

Conversation

@JavadAsadi

Copy link
Copy Markdown
Owner

Introduce LSP client infrastructure for Dart analysis server

Adds the foundational plumbing to run the Dart analysis server in LSP mode (dart language-server --protocol=lsp) as an alternative to the legacy JSON-based protocol.

Key additions:

  • DartClient — interface abstracting over both protocols, allowing the rest of the plugin to remain unaware of which is active
  • LegacyDartAnalysisClient — thin wrapper around the existing analysis server, implementing DartClient
  • LspDartAnalysisClient — new LSP-based client; currently a stub with only diagnostic_getServerPort implemented
  • LspClientConnectionManager — manages the LSP4J process lifecycle: startup, initialize/initialized handshake, status listener notifications, and clean shutdown
  • DartExtendedLanguageServer — extends LSP4J's LanguageServer with @JsonRequest("dart/diagnosticServer") so the custom Dart extension method is properly typed and deserialized
  • DartClientFactory — selects which client to instantiate based on a registry flag

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