File tree Expand file tree Collapse file tree 5 files changed +34
-12
lines changed
Expand file tree Collapse file tree 5 files changed +34
-12
lines changed Original file line number Diff line number Diff line change 10551055 <key >begin </key >
10561056 <string >(?=\benum\b) </string >
10571057 <key >end </key >
1058- <string >(?< =\}) </string >
1058+ <string >(?< =\})|(?=;) </string >
10591059 <key >patterns </key >
10601060 <array >
10611061 <dict >
10621062 <key >begin </key >
10631063 <string >(?=enum) </string >
10641064 <key >end </key >
1065- <string >(?=\{) </string >
1065+ <string >(?=\{)|(?=;) </string >
10661066 <key >patterns </key >
10671067 <array >
10681068 <dict >
11901190 <key >begin </key >
11911191 <string >(?=\binterface\b) </string >
11921192 <key >end </key >
1193- <string >(?< =\}) </string >
1193+ <string >(?< =\})|(?=;) </string >
11941194 <key >patterns </key >
11951195 <array >
11961196 <dict >
12121212 </dict >
12131213 </dict >
12141214 <key >end </key >
1215- <string >(?=\{) </string >
1215+ <string >(?=\{)|(?=;) </string >
12161216 <key >patterns </key >
12171217 <array >
12181218 <dict >
Original file line number Diff line number Diff line change @@ -679,11 +679,11 @@ repository:
679679 ]
680680 " enum-declaration" :
681681 begin : " (?=\\ benum\\ b)"
682- end : " (?<=\\ })"
682+ end : " (?<=\\ })|(?=;) "
683683 patterns : [
684684 {
685685 begin : " (?=enum)"
686- end : " (?=\\ {)"
686+ end : " (?=\\ {)|(?=;) "
687687 patterns : [
688688 {
689689 include : " #comment"
@@ -758,7 +758,7 @@ repository:
758758 ]
759759 " interface-declaration" :
760760 begin : " (?=\\ binterface\\ b)"
761- end : " (?<=\\ })"
761+ end : " (?<=\\ })|(?=;) "
762762 patterns : [
763763 {
764764 begin : '''
@@ -771,7 +771,7 @@ repository:
771771 name : " storage.type.interface.cs"
772772 " 2" :
773773 name : " entity.name.type.interface.cs"
774- end : " (?=\\ {)"
774+ end : " (?=\\ {)|(?=;) "
775775 patterns : [
776776 {
777777 include : " #comment"
Original file line number Diff line number Diff line change @@ -336,10 +336,10 @@ repository:
336336
337337 enum-declaration :
338338 begin : (?=\benum\b)
339- end : (?<=\})
339+ end : (?<=\})|(?=;)
340340 patterns :
341341 - begin : (?=enum)
342- end : (?=\{)
342+ end : (?=\{)|(?=;)
343343 patterns :
344344 - include : ' #comment'
345345 - match : (enum)\s+(@?[_[:alpha:]][_[:alnum:]]*)
@@ -375,7 +375,7 @@ repository:
375375
376376 interface-declaration :
377377 begin : (?=\binterface\b)
378- end : (?<=\})
378+ end : (?<=\})|(?=;)
379379 patterns :
380380 - begin : |-
381381 (?x)
@@ -384,7 +384,7 @@ repository:
384384 beginCaptures:
385385 '1': { name: storage.type.interface.cs }
386386 '2': { name: entity.name.type.interface.cs }
387- end: (?=\{)
387+ end: (?=\{)|(?=;)
388388 patterns:
389389 - include: '#comment'
390390 - include: '#type-parameter-list'
Original file line number Diff line number Diff line change @@ -22,6 +22,17 @@ describe("Enums", () => {
2222 Token . Punctuation . CloseBrace ] ) ;
2323 } ) ;
2424
25+ it ( "enum with no body" , async ( ) => {
26+
27+ const input = `enum E;` ;
28+ const tokens = await tokenize ( input ) ;
29+
30+ tokens . should . deep . equal ( [
31+ Token . Keyword . Definition . Enum ,
32+ Token . Identifier . EnumName ( "E" ) ,
33+ Token . Punctuation . Semicolon ] ) ;
34+ } ) ;
35+
2536 it ( "enum with base type" , async ( ) => {
2637
2738 const input = `enum E : byte { }` ;
Original file line number Diff line number Diff line change @@ -22,6 +22,17 @@ describe("Interfaces", () => {
2222 Token . Punctuation . CloseBrace ] ) ;
2323 } ) ;
2424
25+ it ( "interface with no body" , async ( ) => {
26+
27+ const input = `interface IFoo;` ;
28+ const tokens = await tokenize ( input ) ;
29+
30+ tokens . should . deep . equal ( [
31+ Token . Keyword . Definition . Interface ,
32+ Token . Identifier . InterfaceName ( "IFoo" ) ,
33+ Token . Punctuation . Semicolon ] ) ;
34+ } ) ;
35+
2536 it ( "interface inheritance" , async ( ) => {
2637
2738 const input = `
You can’t perform that action at this time.
0 commit comments