feat: check cursor position within CJK substring match on hover#120
Open
aromarious wants to merge 1 commit intodev-cycles:mainfrom
Open
feat: check cursor position within CJK substring match on hover#120aromarious wants to merge 1 commit intodev-cycles:mainfrom
aromarious wants to merge 1 commit intodev-cycles:mainfrom
Conversation
Previously, hovering anywhere in a CJK token (e.g. 注文が届く) would show definitions for all matching substrings regardless of cursor position. Now the hover handler computes the cursor offset within the token and only returns definitions for terms whose matched substring spans the cursor position. - Add Lexer.getWithStart to return token string with start column - Add TextDocument.findTokenWithStart for hover (findToken kept for completion) - Filter findMatchingTermsBySubstring by cursor offset in token - Add positive and negative E2E hover tests for CJK position accuracy - Add CJKDemo workspace fixture for manual testing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
af37ad0 to
79daacd
Compare
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.
Summary
注文が届く) previously showed definitions for all matching substrings regardless of cursor position. Now the hover handler checks that the cursor is within the matched substring's range.Lexer.getWithStartto return the token's start column, enabling cursor offset calculationfindMatchingTermsBySubstringnow filters by cursor position usingIndexOfresult and key lengthTest plan
dotnet test --filter "Hover"— 63 passing)dotnet test --filter "CJK"— 8 passing)注or文in注文が届く→ shows注文definitionが,届,くin注文が届く→ no hover result🤖 Generated with Claude Code