Open
Conversation
The Dart Language Server returns hover contents as plain strings in some cases, which was causing JSON unmarshalling errors. According to the LSP specification, the hover contents field can be: - MarkupContent (object with kind and value) - MarkedString (plain string) - MarkedString[] (array of strings or language/value objects) Changes: - Fixed code generation to use Or_Hover_contents union type instead of MarkupContent - Updated hover.go to handle all possible content types from the LSP spec - Added comprehensive Dart integration tests with 13 test cases - Added Dart to GitHub Actions CI workflow - Updated .gitignore for Dart artifacts This ensures the MCP language server correctly handles all valid hover response formats from any LSP server, not just those that return MarkupContent objects. Fixes the issue where Dart hover functionality would fail with: "json: cannot unmarshal string into Go struct field Hover.contents of type protocol.MarkupContent" 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Fixed Dart LSP definition lookup issues: - Handle Dart's function/method naming convention (returns names with parentheses) - Support qualified names like ClassName.methodName - Extract definition text directly from workspace/symbol location - Update hover test snapshot for comment change Added comprehensive test coverage with 23 test cases covering classes, functions, methods, enums, mixins, extensions, and typedefs. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The pattern **/* should match all files, but the matching logic was incorrectly checking if paths ended with a literal asterisk character. Added special case handling to make **/* match everything, which fixes the watcher tests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This fixes a couple issues with compatibility with the Dart language server and adds tests.
This was almost entirely written by Claude Code across a few sessions.