Hi Dart team and mentors,
I'm Arun Kumar, a student at Netaji Subhas University of Technology (NSUT) pursuing my B.Tech (2027) and interested in applying for GSoC 2026. I have been deeply researching the "Migrate the Dart IJ plugin to use LSP" project (Issue #207) and would love to contribute.
I have reviewed the exploratory PR #166 and the subsequent discussions involving Angelo Zerr and Dan Tup. From my understanding of the current state:
The PR proves lsp4ij can successfully connect to the Dart language-server via StreamConnectionProvider, but a "big bang" switch disables too many existing legacy-backed features in plugin.xml.
The preferred approach is an incremental migration: using the existing legacy server process but wrapping modern LSP requests inside the legacy protocol (since the legacy server has a handler for invoking LSP routines).
This led to the upstream issue eclipse-lsp4j/lsp4j#965, as lsp4j conventionally relies on standard I/O streams, making it difficult to route JSON-RPC messages through the Dart plugin’s legacy bridge.
Before I finalise my GSoC proposal, I have three specific questions to ensure my scope is aligned with your expectations:
Are we waiting for a recommended solution on the eclipse-lsp4j side for custom message routing? Or would a significant part of this GSoC project involve creating a custom adapter (e.g., implementing a pseudo-Stream) to bridge lsp4ij to the Dart plugin's legacy protocol ourselves?
Helin mentioned that actions like colorPresentation, inlineValue, and didChangeWorkspaceFolders aren't yet supported by lsp4ij. Is the scope of this GSoC to contribute upstream to RedHat's lsp4ij to unlock these features, or primarily to handle the Dart plugin's side of the incremental migration?
Are there any "good first issues" or specific components within DartAnalysisServerService I should familiarize myself with to strengthen my proposal?
I am excited about the possibility of working on this and look forward to your guidance.
Best regards,
Arun Kumar
GitHub: carbonFibreCode
--
You received this message because you are subscribed to the Google Groups "dart-gsoc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dart-gsoc+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/dart-gsoc/5b28f17a-06e6-496d-989e-53c7aad3f767n%40googlegroups.com.