GSoC 2026: Interested in "Migrate the Dart IJ plugin to use LSP" Project

35 views
Skip to first unread message

Arun Kumar

unread,
Mar 6, 2026, 6:27:10 AM (4 days ago) Mar 6
to dart-gsoc

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:

  1. 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?

  2. 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?

  3. 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

Helin Shiah

unread,
Mar 9, 2026, 2:17:38 PM (19 hours ago) Mar 9
to Arun Kumar, dart-gsoc, Phil Quitslund
Hi Arun,

Thanks for your interest in this project! Regarding incremental migration, this draft PR is the latest of what I've been considering: https://github.com/flutter/dart-intellij-third-party/pull/278

Regarding your questions:
1. I'm not sure yet, but I think the approach in the draft PR is a likely candidate for implementing an incremental migration. Evaluating if this is true could be part of a proposal, or suggesting alternatives if not.
2. I suspect the actions not supported by lsp4ij are not going to be needed during the migration, but it would be good to know with more certainty if any of these being missing are blockers to adopting LSP in the IJ plugins.
3. I'm not aware of any good first issues related to the analysis server, but since much of the work would be in the IntelliJ plugins, I suspect looking through issues tagged as "good first issues" in the Flutter plugin could be a good way to familiarize yourself with the general process for developing our plugins.

--
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.
Reply all
Reply to author
Forward
0 new messages