Skip to content

Commit 7896b59

Browse files
committed
Reworked attributes
1 parent d06cd5f commit 7896b59

File tree

3 files changed

+87
-67
lines changed

3 files changed

+87
-67
lines changed

client/src/syntaxes/vba.tmLanguage.yaml

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -511,36 +511,56 @@ repository:
511511

512512
moduleHeader:
513513
patterns:
514+
- include: "#moduleVersion"
514515
- include: "#moduleAttributeBlock"
515516
- include: "#moduleAttribute"
516517
- include: "#moduleOption"
517518
repository:
519+
moduleVersion:
520+
name: entity.other.attribute-name.block.vba
521+
match: (?i)^VERSION\s+([.\d]+)\s+CLASS
522+
captures:
523+
1:
524+
patterns:
525+
- include: "#literals"
518526
moduleAttribute:
519527
name: meta.attribute.vba
520528
match: (?i)^\s*(Attribute)\s+(VB_\w+)\s+(=)\s+(.*)$
521529
captures:
522530
1: # Attribute
523531
name: keyword.attribute.vba
524532
2: # VB_Name
525-
name: entity.other.attribute-name.vba
533+
name: support.variable.property.vba
526534
3: # =
527-
name: keyword.operator.comparison.vba
535+
name: keyword.operator.assignment.vba
528536
4: # "Sam"
529537
patterns:
530538
- include: "#literals"
531539
moduleAttributeBlock:
532540
name: entity.other.attribute-name.block.vba
533-
begin: (?i)^VERSION
541+
begin: (?i)^BEGIN
534542
end: (?i)^END
535543
patterns:
536544
- include: "#comments"
537-
- include: "#literals"
538-
- include: "#operators"
545+
- include: "#attributeAssignment"
539546

540547
moduleOption:
541548
name: keyword.control.vba
542549
match: (?i)^\s*Option\s+(Explicit|Base|Private\s+Module)\b
543550

551+
attributeAssignment:
552+
name: meta.attribute-assignment.vba
553+
match: (?i)([a-z.][a-z0-9._]*)(\s*=\s*)(.*)
554+
captures:
555+
1:
556+
name: support.variable.property.vba
557+
2:
558+
name: keyword.operator.assignment.vba
559+
3:
560+
patterns:
561+
- include: "#literals"
562+
- include: "#comments"
563+
544564
enum:
545565
name: meta.enum.declaration.vba
546566
begin: (?i)^\s*((?:(?:Public|Private)\s+)?\s*Enum)\s+([a-z][a-z0-9_]+)(\s+(?:'|Rem).*)?

test/textmate/unit/methodAttributes.vba

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -2,95 +2,95 @@
22

33
Public Function Identifier() As Variant
44
Attribute Identifier.VB_Description = "Docstring."
5-
' <-------------------------------------------------- source.method.attribute.vba
6-
' <--------- entity.other.attribute-name.vba
7-
' ^^^^^^^^^^ entity.name.function.vba
8-
' ^^^^^^^^^^^^^^^ entity.other.attribute-name.vba
9-
' ^ keyword.operator.comparison.vba
10-
' ^^^^^^^^^^^^ string.quoted.double.vba
5+
' <-------------------------------------------------- source.method.attribute.vba
6+
' <--------- keyword.attribute.vba
7+
' ^^^^^^^^^^ entity.name.function.vba
8+
' ^^^^^^^^^^^^^^^ support.variable.property.vba
9+
' ^ keyword.operator.assignment.vba
10+
' ^^^^^^^^^^^^ string.quoted.double.vba
1111

1212
Attribute Identifier.VB_UserMemId = 0
13-
' <------------------------------------- source.method.attribute.vba
14-
' <--------- entity.other.attribute-name.vba
15-
' ^^^^^^^^^^ entity.name.function.vba
16-
' ^^^^^^^^^^^^^ entity.other.attribute-name.vba
17-
' ^ keyword.operator.comparison.vba
18-
' ^ constant.numeric.vba
13+
' <------------------------------------- source.method.attribute.vba
14+
' <--------- keyword.attribute.vba
15+
' ^^^^^^^^^^ entity.name.function.vba
16+
' ^^^^^^^^^^^^^ support.variable.property.vba
17+
' ^ keyword.operator.assignment.vba
18+
' ^ constant.numeric.vba
1919

2020
End Function
2121

2222
Public Sub Identifier()
2323
Attribute Identifier.VB_Description = "Docstring."
24-
' <-------------------------------------------------- source.method.attribute.vba
25-
' <--------- entity.other.attribute-name.vba
26-
' ^^^^^^^^^^ entity.name.function.vba
27-
' ^^^^^^^^^^^^^^^ entity.other.attribute-name.vba
28-
' ^ keyword.operator.comparison.vba
29-
' ^^^^^^^^^^^^ string.quoted.double.vba
24+
' <-------------------------------------------------- source.method.attribute.vba
25+
' <--------- keyword.attribute.vba
26+
' ^^^^^^^^^^ entity.name.function.vba
27+
' ^^^^^^^^^^^^^^^ support.variable.property.vba
28+
' ^ keyword.operator.assignment.vba
29+
' ^^^^^^^^^^^^ string.quoted.double.vba
3030

3131
Attribute Identifier.VB_UserMemId = 0
32-
' <------------------------------------- source.method.attribute.vba
33-
' <--------- entity.other.attribute-name.vba
34-
' ^^^^^^^^^^ entity.name.function.vba
35-
' ^^^^^^^^^^^^^ entity.other.attribute-name.vba
36-
' ^ keyword.operator.comparison.vba
37-
' ^ constant.numeric.vba
32+
' <------------------------------------- source.method.attribute.vba
33+
' <--------- keyword.attribute.vba
34+
' ^^^^^^^^^^ entity.name.function.vba
35+
' ^^^^^^^^^^^^^ support.variable.property.vba
36+
' ^ keyword.operator.assignment.vba
37+
' ^ constant.numeric.vba
3838

3939
End Sub
4040

4141
Public Property Let Identifier(var As PropertyType)
4242
Attribute Identifier.VB_Description = "Docstring."
43-
' <-------------------------------------------------- source.method.attribute.vba
44-
' <--------- entity.other.attribute-name.vba
45-
' ^^^^^^^^^^ entity.name.function.vba
46-
' ^^^^^^^^^^^^^^^ entity.other.attribute-name.vba
47-
' ^ keyword.operator.comparison.vba
48-
' ^^^^^^^^^^^^ string.quoted.double.vba
43+
' <-------------------------------------------------- source.method.attribute.vba
44+
' <--------- keyword.attribute.vba
45+
' ^^^^^^^^^^ entity.name.function.vba
46+
' ^^^^^^^^^^^^^^^ support.variable.property.vba
47+
' ^ keyword.operator.assignment.vba
48+
' ^^^^^^^^^^^^ string.quoted.double.vba
4949

5050
Attribute Identifier.VB_UserMemId = 0
51-
' <------------------------------------- source.method.attribute.vba
52-
' <--------- entity.other.attribute-name.vba
53-
' ^^^^^^^^^^ entity.name.function.vba
54-
' ^^^^^^^^^^^^^ entity.other.attribute-name.vba
55-
' ^ keyword.operator.comparison.vba
56-
' ^ constant.numeric.vba
51+
' <------------------------------------- source.method.attribute.vba
52+
' <--------- keyword.attribute.vba
53+
' ^^^^^^^^^^ entity.name.function.vba
54+
' ^^^^^^^^^^^^^ support.variable.property.vba
55+
' ^ keyword.operator.assignment.vba
56+
' ^ constant.numeric.vba
5757

5858
End Property
5959

6060
Public Property Get Identifier() As PropertyType
6161
Attribute Identifier.VB_Description = "Docstring."
62-
' <-------------------------------------------------- source.method.attribute.vba
63-
' <--------- entity.other.attribute-name.vba
64-
' ^^^^^^^^^^ entity.name.function.vba
65-
' ^^^^^^^^^^^^^^^ entity.other.attribute-name.vba
66-
' ^ keyword.operator.comparison.vba
67-
' ^^^^^^^^^^^^ string.quoted.double.vba
62+
' <-------------------------------------------------- source.method.attribute.vba
63+
' <--------- keyword.attribute.vba
64+
' ^^^^^^^^^^ entity.name.function.vba
65+
' ^^^^^^^^^^^^^^^ support.variable.property.vba
66+
' ^ keyword.operator.assignment.vba
67+
' ^^^^^^^^^^^^ string.quoted.double.vba
6868

6969
Attribute Identifier.VB_UserMemId = 0
70-
' <------------------------------------- source.method.attribute.vba
71-
' <--------- entity.other.attribute-name.vba
72-
' ^^^^^^^^^^ entity.name.function.vba
73-
' ^^^^^^^^^^^^^ entity.other.attribute-name.vba
74-
' ^ keyword.operator.comparison.vba
75-
' ^ constant.numeric.vba
70+
' <------------------------------------- source.method.attribute.vba
71+
' <--------- keyword.attribute.vba
72+
' ^^^^^^^^^^ entity.name.function.vba
73+
' ^^^^^^^^^^^^^ support.variable.property.vba
74+
' ^ keyword.operator.assignment.vba
75+
' ^ constant.numeric.vba
7676

7777
End Property
7878

7979
Public Property Let Identifier(var As PropertyType)
8080
Attribute Identifier.VB_Description = "Docstring."
81-
' <-------------------------------------------------- source.method.attribute.vba
82-
' <--------- entity.other.attribute-name.vba
83-
' ^^^^^^^^^^ entity.name.function.vba
84-
' ^^^^^^^^^^^^^^^ entity.other.attribute-name.vba
85-
' ^ keyword.operator.comparison.vba
86-
' ^^^^^^^^^^^^ string.quoted.double.vba
81+
' <-------------------------------------------------- source.method.attribute.vba
82+
' <--------- keyword.attribute.vba
83+
' ^^^^^^^^^^ entity.name.function.vba
84+
' ^^^^^^^^^^^^^^^ support.variable.property.vba
85+
' ^ keyword.operator.assignment.vba
86+
' ^^^^^^^^^^^^ string.quoted.double.vba
8787

8888
Attribute Identifier.VB_UserMemId = 0
89-
' <------------------------------------- source.method.attribute.vba
90-
' <--------- entity.other.attribute-name.vba
91-
' ^^^^^^^^^^ entity.name.function.vba
92-
' ^^^^^^^^^^^^^ entity.other.attribute-name.vba
93-
' ^ keyword.operator.comparison.vba
94-
' ^ constant.numeric.vba
89+
' <------------------------------------- source.method.attribute.vba
90+
' <--------- keyword.attribute.vba
91+
' ^^^^^^^^^^ entity.name.function.vba
92+
' ^^^^^^^^^^^^^ support.variable.property.vba
93+
' ^ keyword.operator.assignment.vba
94+
' ^ constant.numeric.vba
9595

9696
End Property

test/textmate/unit/moduleHeaders.vba

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Attribute VB_Name = "ModuleName"
44
' <------------------------------- meta.attribute.vba
55
' <--------- keyword.attribute.vba
6-
' ^^^^^^^ entity.other.attribute-name.vba
7-
' ^ keyword.operator.comparison.vba
6+
' ^^^^^^^ support.variable.property.vba
7+
' ^ keyword.operator.assignment.vba
88
' ^^^^^^^^^^^^ string.quoted.double.vba
99

1010
Option Explicit

0 commit comments

Comments
 (0)