diff --git a/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Tokenize.hs b/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Tokenize.hs index 3f79bba3d1..0f98a6ceed 100644 --- a/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Tokenize.hs +++ b/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Tokenize.hs @@ -148,7 +148,7 @@ focusTokenAt leaf = do return (Rope.toText prefix, suffix) sub :: Char.Position -> Char.Position -> Maybe Char.Position sub (Char.Position l1 c1) (Char.Position l2 c2) - | l1 == l2 && c1 > c2 = Just $ Char.Position 0 (c1 - c2) + | l1 == l2 && c1 >= c2 = Just $ Char.Position 0 (c1 - c2) | l1 > l2 = Just $ Char.Position (l1 - l2) c1 | otherwise = Nothing realSrcLocRopePosition :: RealSrcLoc -> Char.Position diff --git a/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.expected b/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.expected index bcc567fe31..c19e7cb904 100644 --- a/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.expected +++ b/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.expected @@ -2,8 +2,8 @@ 4:4-5 TFunction "f" 4:6-7 TVariable "x" 4:10-11 TFunction "f" -4:12-13 TOperator "$" -4:14-15 TVariable "x" +4:11-12 TOperator "$" +4:12-13 TVariable "x" 6:2-6 TOperator "$$$$" 7:1-2 TVariable "x" 7:7-11 TOperator "$$$$" diff --git a/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.hs b/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.hs index d9f472e62d..e2f06c92fa 100644 --- a/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.hs +++ b/plugins/hls-semantic-tokens-plugin/test/testdata/TOperator.hs @@ -1,7 +1,7 @@ module TOperator where -- imported operator -go f x = f $ x +go f x = f$x -- operator defined in local module ($$$$) = b x = 1 $$$$ 2