diff --git a/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs b/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs index 7758176d04..d686d3dd00 100644 --- a/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs +++ b/plugins/hls-semantic-tokens-plugin/src/Ide/Plugin/SemanticTokens/Query.hs @@ -83,10 +83,8 @@ hieAstSpanNames vf ast = inclusion a b = not $ exclusion a b exclusion :: Identifier -> IdentifierDetails a -> Bool exclusion idt IdentifierDetails {identInfo = infos} = case idt of - Left _ -> True - Right name -> - isDerivedOccName (nameOccName name) - || any isEvidenceContext (S.toList infos) + Left _ -> True + Right _ -> any isEvidenceContext (S.toList infos) ------------------------------------------------- diff --git a/plugins/hls-semantic-tokens-plugin/test/Main.hs b/plugins/hls-semantic-tokens-plugin/test/Main.hs index 56a8f47393..2d6224e7c1 100644 --- a/plugins/hls-semantic-tokens-plugin/test/Main.hs +++ b/plugins/hls-semantic-tokens-plugin/test/Main.hs @@ -187,6 +187,7 @@ semanticTokensDataTypeTests = "get semantic Tokens" [ goldenWithSemanticTokens "simple datatype" "TDataType", goldenWithSemanticTokens "record" "TRecord", + goldenWithSemanticTokens "record" "TRecordDuplicateRecordFields", goldenWithSemanticTokens "datatype import" "TDatatypeImported", goldenWithSemanticTokens "datatype family" "TDataFamily", goldenWithSemanticTokens "GADT" "TGADT" diff --git a/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.expected b/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.expected new file mode 100644 index 0000000000..228a593b19 --- /dev/null +++ b/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.expected @@ -0,0 +1,4 @@ +5:6-9 TTypeCon "Foo" +5:12-15 TDataCon "Foo" +5:18-21 TRecField "boo" +5:26-32 TTypeSyn "String" diff --git a/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.hs b/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.hs new file mode 100644 index 0000000000..7258b5fc27 --- /dev/null +++ b/plugins/hls-semantic-tokens-plugin/test/testdata/TRecordDuplicateRecordFields.hs @@ -0,0 +1,5 @@ +{-# LANGUAGE DuplicateRecordFields #-} + +module TRecordDuplicateRecordFields where + +data Foo = Foo { boo :: !String } \ No newline at end of file