Skip to content

Commit e41cb9d

Browse files
aspeddrozth
authored andcommitted
dont emit object keys in uppercase as namespace
1 parent 74a5e98 commit e41cb9d

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

analysis/src/SemanticTokens.ml

+10-3
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ let emitFromLoc ~loc ~type_ emitter =
115115

116116
let emitLongident ?(backwards = false) ?(jsx = false)
117117
?(lowerCaseToken = if jsx then Token.JsxLowercase else Token.Variable)
118-
?(upperCaseToken = Token.Namespace) ?(lastToken = None) ?(posEnd = None) ~pos
119-
~lid ~debug emitter =
118+
?(upperCaseToken = Token.Namespace) ?(lastToken = None) ?(posEnd = None)
119+
~pos ~lid ~debug emitter =
120120
let rec flatten acc lid =
121121
match lid with
122122
| Longident.Lident txt -> txt :: acc
@@ -309,7 +309,14 @@ let command ~debug ~emitter ~path =
309309
Ast_iterator.default_iterator.expr iterator e
310310
| Pexp_record (cases, _) ->
311311
cases
312-
|> List.iter (fun (label, _) -> emitter |> emitRecordLabel ~label ~debug);
312+
|> List.filter_map (fun ((label : Longident.t Location.loc), _) ->
313+
match label.txt with
314+
| Longident.Lident s
315+
when String.length s > 0
316+
&& not (Char.equal s.[0] (Char.uppercase_ascii s.[0])) ->
317+
Some label
318+
| _ -> None)
319+
|> List.iter (fun label -> emitter |> emitRecordLabel ~label ~debug);
313320
Ast_iterator.default_iterator.expr iterator e
314321
| Pexp_field (_, label) | Pexp_setfield (_, label, _) ->
315322
emitter |> emitRecordLabel ~label ~debug;

analysis/tests/src/Highlight.res

+2
Original file line numberDiff line numberDiff line change
@@ -132,3 +132,5 @@ let _ = 3 == 3 || 3 === 3
132132
let _ = (~_type_ as _) => ()
133133

134134
let _ = {"abc": 34}
135+
136+
let _ = {"Key": 2}

analysis/tests/src/expected/Highlight.res.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
Highlight src/Highlight.res
2-
structure items:38 diagnostics:0
2+
structure items:39 diagnostics:0
33
Lident: M 0:7 Namespace
44
Lident: C 1:9 Namespace
55
Lident: Component 1:13 Namespace

0 commit comments

Comments
 (0)