Skip to content

Commit 829de45

Browse files
authored
[Various] Scope in as keyword.control again (#4271)
This is a follow-up to 1e76a91, which introduced this new unified `keyword.operator.iteration.in` scope. However, this `in` is a keyword that is used in loop statements and not an operator and should thus be scoped similar to `keyword.control.loop.for`. I opted to simply replace `for` with `in` in the above as it allows for sufficient context of the (loop-related control flow) keyword while not binding it to the `for` like it was used in some instances before.
1 parent 3a3546d commit 829de45

14 files changed

+74
-74
lines changed

ASP/ASP.sublime-syntax

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -682,7 +682,7 @@ contexts:
682682
control_flow_foreach_in:
683683
- meta_scope: meta.for.block.asp
684684
- match: '\b(?i:In){{whitespace_or_end_of_statement}}'
685-
scope: keyword.operator.iteration.in.asp
685+
scope: keyword.control.loop.in.asp
686686
set: [inside_control_flow_for, expression_until_end_of_statement]
687687

688688
control_flow_forto:

ASP/syntax_test_asp.asp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -878,7 +878,7 @@
878878
'<- - meta.between-if-and-then.asp
879879
'^^^^^^^^ keyword.control.flow.asp
880880
' ^^^^^^ variable.other.asp
881-
' ^^ keyword.operator.iteration.in.asp
881+
' ^^ keyword.control.loop.in.asp
882882
' ^ meta.for.block.asp
883883
Response.Write(vbCrLf & cookie)
884884
'^^^^^^^^ support.class.asp
@@ -1231,7 +1231,7 @@ test = "hello%>
12311231
<%
12321232
for each item in list
12331233
'^^^^^^^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp keyword.control.flow.asp
1234-
' ^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp keyword.operator.iteration.in.asp
1234+
' ^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp keyword.control.loop.in.asp
12351235
%><li><%= item %></li><%
12361236
'^^^^^^ text.html.asp source.asp.embedded.html meta.method.asp meta.method.body.asp meta.for.block.asp
12371237
' ^ punctuation.definition.tag.begin.html

Batch File/Batch File.sublime-syntax

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ contexts:
495495

496496
ctl-for-in:
497497
- match: (?i:in){{keyword_break}}
498-
scope: keyword.operator.iteration.in.dosbatch
498+
scope: keyword.control.loop.in.dosbatch
499499
pop: 1
500500
- include: else-pop
501501

Batch File/tests/syntax_test_batch_file.bat

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1990,7 +1990,7 @@ is a #@$虎" strange label
19901990
:: ^^^ keyword.control.loop.for.dosbatch
19911991
:: ^^ punctuation.definition.variable.dosbatch
19921992
:: ^^^ variable.other.readwrite.dosbatch
1993-
:: ^^ keyword.operator.iteration.in.dosbatch
1993+
:: ^^ keyword.control.loop.in.dosbatch
19941994
:: ^ punctuation.section.set.begin.dosbatch
19951995
:: ^ meta.number.integer.decimal.dosbatch constant.numeric.value.dosbatch
19961996
:: ^ punctuation.separator.comma.dosbatch
@@ -2006,7 +2006,7 @@ is a #@$虎" strange label
20062006
:: ^^ variable.parameter.option.recursive.dosbatch
20072007
:: ^^ punctuation.definition.variable.dosbatch
20082008
:: ^^^ variable.other.readwrite.dosbatch
2009-
:: ^^ keyword.operator.iteration.in.dosbatch
2009+
:: ^^ keyword.control.loop.in.dosbatch
20102010
:: ^ punctuation.section.set.begin.dosbatch
20112011
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.set.dosbatch
20122012
:: ^ punctuation.separator.comma.dosbatch
@@ -2026,7 +2026,7 @@ is a #@$虎" strange label
20262026
:: ^^ variable.parameter.option.recursive.dosbatch
20272027
:: ^^ punctuation.definition.variable.dosbatch
20282028
:: ^^^ variable.other.readwrite.dosbatch
2029-
:: ^^ keyword.operator.iteration.in.dosbatch
2029+
:: ^^ keyword.control.loop.in.dosbatch
20302030
:: ^ punctuation.section.set.begin.dosbatch
20312031
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.set.dosbatch
20322032
:: ^ punctuation.separator.comma.dosbatch
@@ -2040,7 +2040,7 @@ is a #@$虎" strange label
20402040
%%f IN (folder1, ..\folder2, C:\folder) DO command
20412041
:: ^^ punctuation.definition.variable.dosbatch
20422042
:: ^^^ variable.other.readwrite.dosbatch
2043-
:: ^^ keyword.operator.iteration.in.dosbatch
2043+
:: ^^ keyword.control.loop.in.dosbatch
20442044
:: ^ punctuation.section.set.begin.dosbatch
20452045
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.set.dosbatch
20462046
:: ^ punctuation.separator.comma.dosbatch
@@ -2053,7 +2053,7 @@ is a #@$虎" strange label
20532053
/D /r ^
20542054
%%f ^
20552055
IN (folder1, ..\folder2, C:\folder) DO command
2056-
:: ^^ keyword.operator.iteration.in.dosbatch
2056+
:: ^^ keyword.control.loop.in.dosbatch
20572057
:: ^ punctuation.section.set.begin.dosbatch
20582058
:: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.set.dosbatch
20592059
:: ^ punctuation.separator.comma.dosbatch
@@ -2106,7 +2106,7 @@ is a #@$虎" strange label
21062106
:: ^ punctuation.definition.string.end.dosbatch
21072107
:: ^^ punctuation.definition.variable.dosbatch
21082108
:: ^^^ variable.other.readwrite.dosbatch
2109-
:: ^^ keyword.operator.iteration.in.dosbatch
2109+
:: ^^ keyword.control.loop.in.dosbatch
21102110
:: ^ punctuation.section.set.begin.dosbatch
21112111
:: ^ meta.set.dosbatch punctuation.section.set.begin.dosbatch - meta.embedded
21122112
:: ^ punctuation.section.embedded.begin.dosbatch
@@ -2133,7 +2133,7 @@ is a #@$虎" strange label
21332133
:: ^ punctuation.definition.variable.dosbatch
21342134
:: ^^ variable.parameter.option.range.dosbatch
21352135
:: ^^ invalid.illegal.variable.dosbatch
2136-
:: ^^ keyword.operator.iteration.in.dosbatch
2136+
:: ^^ keyword.control.loop.in.dosbatch
21372137
:: ^ punctuation.section.set.begin.dosbatch
21382138
:: ^^^^^^^^^ meta.set.dosbatch
21392139
:: ^ meta.number.integer.decimal.dosbatch constant.numeric.value.dosbatch
@@ -2151,7 +2151,7 @@ is a #@$虎" strange label
21512151
:: ^^ variable.parameter.option.recursive.dosbatch
21522152
:: ^^^^^^^^^^^^^^^^^^^^ string.unquoted.dosbatch
21532153
:: ^^^^^ invalid.illegal.variable.dosbatch
2154-
:: ^^ keyword.operator.iteration.in.dosbatch
2154+
:: ^^ keyword.control.loop.in.dosbatch
21552155

21562156
FOR /R C:\dir name\file name.ext %%f IN (.) DO command
21572157
:: ^^^ keyword.control.loop.for.dosbatch
@@ -2162,7 +2162,7 @@ is a #@$虎" strange label
21622162
:: ^^^^^^^^ invalid.illegal.variable.dosbatch
21632163
:: ^^ punctuation.definition.variable.dosbatch
21642164
:: ^^^ variable.other.readwrite.dosbatch
2165-
:: ^^ keyword.operator.iteration.in.dosbatch
2165+
:: ^^ keyword.control.loop.in.dosbatch
21662166

21672167
FOR /R 'C:\dir name\file name.ext' %%f IN (*.ext) DO command
21682168
:: ^^^ keyword.control.loop.for.dosbatch
@@ -2173,7 +2173,7 @@ is a #@$虎" strange label
21732173
:: ^^^^^^^^^ invalid.illegal.variable.dosbatch
21742174
:: ^^ punctuation.definition.variable.dosbatch
21752175
:: ^^^ variable.other.readwrite.dosbatch
2176-
:: ^^ keyword.operator.iteration.in.dosbatch
2176+
:: ^^ keyword.control.loop.in.dosbatch
21772177

21782178
FOR /R "C:\dir name\file-name.ext" %%f IN (set) DO command
21792179
:: ^^^ keyword.control.loop.for.dosbatch
@@ -2184,12 +2184,12 @@ is a #@$虎" strange label
21842184
:: ^ punctuation.definition.string.end.dosbatch
21852185
:: ^^ punctuation.definition.variable.dosbatch
21862186
:: ^^^ variable.other.readwrite.dosbatch
2187-
:: ^^ keyword.operator.iteration.in.dosbatch
2187+
:: ^^ keyword.control.loop.in.dosbatch
21882188

21892189
FOR /Z %%f IN (foo & bar | < baz > && no || false) DO command
21902190
:: ^^ invalid.illegal.parameter.dosbatch
21912191
:: ^^^ variable.other.readwrite.dosbatch
2192-
:: ^^ keyword.operator.iteration.in.dosbatch
2192+
:: ^^ keyword.control.loop.in.dosbatch
21932193
:: ^ invalid.illegal.operator.dosbatch
21942194
:: ^ invalid.illegal.operator.dosbatch
21952195
:: ^ invalid.illegal.operator.dosbatch
@@ -2200,7 +2200,7 @@ is a #@$虎" strange label
22002200
for %%i in (1, 2, 3) do (
22012201
for %%j in (%%i) do (
22022202
:: ^^^ variable.other.readwrite.dosbatch
2203-
:: ^^ keyword.operator.iteration.in.dosbatch
2203+
:: ^^ keyword.control.loop.in.dosbatch
22042204
:: ^ punctuation.section.set.begin.dosbatch
22052205
:: ^^^ string.unquoted.dosbatch
22062206
:: ^^ constant.character.escape.dosbatch

C#/C#.sublime-syntax

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2316,7 +2316,7 @@ contexts:
23162316

23172317
foreach_var_assignment:
23182318
- match: \bin\b
2319-
scope: keyword.operator.iteration.in.cs
2319+
scope: keyword.control.loop.in.cs
23202320
set: line_of_code_in
23212321
- match: (?=\)|\})
23222322
pop: true

C#/tests/syntax_test_C#7.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -494,7 +494,7 @@ string Beta
494494
/// ^ punctuation.separator.sequence
495495
/// ^^^ variable.other
496496
/// ^ punctuation.section.sequence.end
497-
/// ^^ keyword.operator.iteration.in.cs
497+
/// ^^ keyword.control.loop.in.cs
498498
{
499499
Console.WriteLine($"{name} is {age} years old.");
500500
}
@@ -509,7 +509,7 @@ string Beta
509509
/// ^ punctuation.separator.sequence
510510
/// ^ variable.other
511511
/// ^ punctuation.section.sequence.end
512-
/// ^^ keyword.operator.iteration.in.cs
512+
/// ^^ keyword.control.loop.in.cs
513513
/// ^^^^^^^^^ variable.other
514514
/// ^ punctuation.section.group.end
515515
{
@@ -527,7 +527,7 @@ string Beta
527527
/// ^^^ support.type
528528
/// ^ variable.other
529529
/// ^ punctuation.section.sequence.end
530-
/// ^^ keyword.operator.iteration.in.cs
530+
/// ^^ keyword.control.loop.in.cs
531531
/// ^^^^^^^^^ variable.other
532532
/// ^ punctuation.section.group.end
533533
; // empty statement

C#/tests/syntax_test_GeneralStructure.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,7 @@ public Derived(DateTime exportDate) : base(exportDate) {
291291
/// ^ punctuation.section.group.begin
292292
/// ^^^ storage.type
293293
/// ^^^^ variable.other
294-
/// ^^ keyword.operator.iteration.in.cs
294+
/// ^^ keyword.control.loop.in.cs
295295
/// ^^^^^^^^^^ variable.other
296296
/// ^ punctuation.section.group.end
297297
{}

Python/Python.sublime-syntax

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1561,7 +1561,7 @@ contexts:
15611561
scope: invalid.illegal.missing-in.python
15621562
pop: 1
15631563
- match: in\b
1564-
scope: keyword.operator.iteration.in.python
1564+
scope: keyword.control.loop.in.python
15651565
set: for-statement-in
15661566
- include: line-continuation-or-pop
15671567
- include: expression-in-a-statement
@@ -1793,7 +1793,7 @@ contexts:
17931793
for-expression-target-list:
17941794
- meta_scope: meta.expression.generator.python
17951795
- match: in\b
1796-
scope: keyword.operator.iteration.in.python
1796+
scope: keyword.control.loop.in.python
17971797
pop: 1
17981798
- match: (?=[)\]}])
17991799
pop: 1

Python/tests/syntax_test_python.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -911,7 +911,7 @@ def _():
911911
for
912912
# ^^^ keyword.control.loop.for
913913
b = c in d
914-
# ^^ keyword.operator.logical - keyword.operator.iteration.in
914+
# ^^ keyword.operator.logical - keyword.control.loop.in
915915

916916
for \
917917
a \
@@ -924,7 +924,7 @@ def _():
924924
# ^^^^^^^^^^^^^^^^^^^^^^^^ meta.statement.loop.for
925925
# ^^^^^ storage.modifier.async
926926
# ^^^ keyword.control.loop.for
927-
# ^^ keyword.operator.iteration.in
927+
# ^^ keyword.control.loop.in
928928
# ^ punctuation.section.block.loop.for
929929
pass
930930

@@ -2536,7 +2536,7 @@ def f(): pass
25362536
# ^ meta.generic-name.python
25372537
# ^^^ keyword.control.loop.for.generator.python
25382538
# ^ meta.generic-name.python
2539-
# ^^ keyword.operator.iteration.in.python
2539+
# ^^ keyword.control.loop.in.python
25402540
# ^^^^^^^ meta.function-call.identifier.python variable.function.python
25412541
# ^^ meta.function-call.arguments.python
25422542
# ^ punctuation.section.sequence.end.python
@@ -2552,7 +2552,7 @@ def f(): pass
25522552
# ^ meta.generic-name.python
25532553
# ^^^ keyword.control.loop.for.generator.python
25542554
# ^ meta.generic-name.python
2555-
# ^^ keyword.operator.iteration.in.python
2555+
# ^^ keyword.control.loop.in.python
25562556
# ^^^^^^^ meta.function-call.identifier.python variable.function.python
25572557
# ^^ meta.function-call.arguments.python
25582558
# ^ punctuation.section.sequence.end.python
@@ -2730,32 +2730,32 @@ def f(): pass
27302730
# ^^^^^^^^^^^^^^^^^^^^^^^ meta.sequence.generator.python
27312731
# ^^^^^^^^ meta.expression.generator
27322732
# ^^^ keyword.control.loop.for.generator
2733-
# ^^ keyword.operator.iteration.in
2733+
# ^^ keyword.control.loop.in
27342734
list_ = [i for i in range(100)]
27352735
# ^^^^^^^^^^^^^^^^^^^^^^^ meta.sequence
27362736
# ^^^^^^^^ meta.expression.generator
27372737
# ^^^ keyword.control.loop.for.generator
2738-
# ^^ keyword.operator.iteration.in
2738+
# ^^ keyword.control.loop.in
27392739
set_ = {i for i in range(100)}
27402740
# ^^^^^^^^^^^^^^^^^^^^^^^ meta.set
27412741
# ^^^^^^^^ meta.expression.generator
27422742
# ^^^ keyword.control.loop.for.generator
2743-
# ^^ keyword.operator.iteration.in
2743+
# ^^ keyword.control.loop.in
27442744
set_ = {x * x for x in y}
27452745
# ^^^^^^^^^^^^^^^^^^ meta.set
27462746
# ^^^^^^^^ meta.expression.generator
27472747
# ^ punctuation.section.set.begin
27482748
# ^ keyword.operator.arithmetic
27492749
# ^^^ keyword.control.loop.for.generator
2750-
# ^^ keyword.operator.iteration.in
2750+
# ^^ keyword.control.loop.in
27512751
# ^ punctuation.section.set.end
27522752
set_ = {x ** 2 for x in y}
27532753
# ^^^^^^^^^^^^^^^^^^ meta.set
27542754
# ^^^^^^^^ meta.expression.generator
27552755
# ^ punctuation.section.set.begin
27562756
# ^^ keyword.operator.arithmetic
27572757
# ^^^ keyword.control.loop.for.generator
2758-
# ^^ keyword.operator.iteration.in
2758+
# ^^ keyword.control.loop.in
27592759
# ^ punctuation.section.set.end
27602760
dict_ = {i: i for i in range(100)}
27612761
# ^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.mapping - meta.mapping meta.mapping
@@ -2766,7 +2766,7 @@ def f(): pass
27662766
# ^^^^^^^^^^^^^^^^^^^^^ meta.mapping.python
27672767
# ^^^^^^^^ meta.expression.generator
27682768
# ^^^ keyword.control.loop.for.generator
2769-
# ^^ keyword.operator.iteration.in
2769+
# ^^ keyword.control.loop.in
27702770
dict_ = {x * x: 1 for x in y}
27712771
# ^ meta.mapping.python
27722772
# ^^^^^ meta.mapping.key.python
@@ -2777,7 +2777,7 @@ def f(): pass
27772777
# ^ keyword.operator.arithmetic
27782778
# ^ punctuation.separator.key-value
27792779
# ^^^ keyword.control.loop.for.generator
2780-
# ^^ keyword.operator.iteration.in
2780+
# ^^ keyword.control.loop.in
27812781
# ^ punctuation.section.mapping.end
27822782
dict_ = {x ** 2: 1 for x in y}
27832783
# ^ meta.mapping.python
@@ -2789,7 +2789,7 @@ def f(): pass
27892789
# ^^ keyword.operator.arithmetic
27902790
# ^ punctuation.separator.key-value
27912791
# ^^^ keyword.control.loop.for.generator
2792-
# ^^ keyword.operator.iteration.in
2792+
# ^^ keyword.control.loop.in
27932793
# ^ punctuation.section.mapping.end
27942794
list_ = [i for i in range(100) if i > 0 else -1]
27952795
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ meta.sequence
@@ -2799,7 +2799,7 @@ def f(): pass
27992799

28002800
list2_ = [i in range(10) for i in range(100) if i in range(5, 15)]
28012801
# ^^ keyword.operator.logical
2802-
# ^^ keyword.operator.iteration.in
2802+
# ^^ keyword.control.loop.in
28032803
# ^^ keyword.operator.logical
28042804

28052805
generator = ((k1, k2, v) for ((k1, k2), v) in xs)
@@ -2863,7 +2863,7 @@ def f(): pass
28632863
# ^ keyword.operator.unpacking.sequence.python
28642864
# ^ meta.path.python variable.language.anonymous.python
28652865
# ^ punctuation.section.sequence.end.python
2866-
# ^^ keyword.operator.iteration.in.python
2866+
# ^^ keyword.control.loop.in.python
28672867
# ^ punctuation.section.sequence.begin.python
28682868
# ^ punctuation.section.sequence.begin.python
28692869
# ^ punctuation.section.sequence.begin.python
@@ -2891,7 +2891,7 @@ def f(): pass
28912891
# ^ constant.numeric.value.python
28922892
# ^^^ keyword.control.loop.for.generator.python
28932893
# ^ meta.generic-name.python
2894-
# ^^ keyword.operator.iteration.in.python
2894+
# ^^ keyword.control.loop.in.python
28952895
# ^^^^^ support.function.builtin.python
28962896
# ^ punctuation.section.arguments.begin.python
28972897
# ^^ constant.numeric.value.python
@@ -2911,7 +2911,7 @@ def f(): pass
29112911
# ^ constant.numeric.value.python
29122912
# ^^^ keyword.control.loop.for.generator.python
29132913
# ^ meta.generic-name.python
2914-
# ^^ keyword.operator.iteration.in.python
2914+
# ^^ keyword.control.loop.in.python
29152915
# ^^^^^ support.function.builtin.python
29162916
# ^ punctuation.section.arguments.begin.python
29172917
# ^^ constant.numeric.value.python
@@ -2931,7 +2931,7 @@ def f(): pass
29312931
# ^ constant.numeric.value.python
29322932
# ^^^ keyword.control.loop.for.generator.python
29332933
# ^ meta.generic-name.python
2934-
# ^^ keyword.operator.iteration.in.python
2934+
# ^^ keyword.control.loop.in.python
29352935
# ^^^^^ support.function.builtin.python
29362936
# ^ punctuation.section.arguments.begin.python
29372937
# ^^ constant.numeric.value.python
@@ -2951,10 +2951,10 @@ def f(): pass
29512951
_ = [m
29522952
for cls in self.__class__.mro()
29532953
# ^^^ keyword.control.loop.for.generator
2954-
# ^^ keyword.operator.iteration.in
2954+
# ^^ keyword.control.loop.in
29552955
for m in cls.__dict__]
29562956
# ^^^ keyword.control.loop.for.generator
2957-
# ^^ keyword.operator.iteration.in
2957+
# ^^ keyword.control.loop.in
29582958

29592959
result = [i async for i in aiter() if i % 2]
29602960
# ^^^^^ storage.modifier.async
@@ -3031,7 +3031,7 @@ def f(): pass
30313031
# ^^^ keyword.control.loop.for.generator
30323032
i
30333033
in
3034-
# ^^ keyword.operator.iteration.in
3034+
# ^^ keyword.control.loop.in
30353035
range(100)
30363036
)
30373037

Ruby/Ruby.sublime-syntax

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ contexts:
595595
for-variable:
596596
# note: variables are not scoped, currently
597597
- match: \bin\b
598-
scope: keyword.operator.iteration.in.ruby
598+
scope: keyword.control.loop.in.ruby
599599
set: after-keyword
600600
- match: (?=(?:end|do)\b(?![?!]))|$
601601
pop: true

Ruby/syntax_test_ruby.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1646,7 +1646,7 @@ class MyClass
16461646

16471647
for item in items do
16481648
#^^ keyword.control.loop.for.ruby
1649-
# ^^ keyword.operator.iteration.in.ruby
1649+
# ^^ keyword.control.loop.in.ruby
16501650
# ^^ keyword.control.block.do.ruby
16511651
end
16521652
#^^ keyword.control.block.end.ruby

0 commit comments

Comments
 (0)