From 359e091c0a83a45e20aefc13111ed4a19e201f97 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 11 Nov 2022 15:52:59 -0500 Subject: [PATCH] Adds highlighting for the 'accessor' keyword (#917) Co-authored-by: Sheetal Nandi --- TypeScript.YAML-tmLanguage | 2 +- TypeScript.tmLanguage | 2 +- TypeScriptReact.tmLanguage | 2 +- tests/baselines/autoAccessor.baseline.txt | 110 ++++++++++++++++++++++ tests/cases/autoAccessor.ts | 6 ++ 5 files changed, 119 insertions(+), 3 deletions(-) create mode 100644 tests/baselines/autoAccessor.baseline.txt create mode 100644 tests/cases/autoAccessor.ts diff --git a/TypeScript.YAML-tmLanguage b/TypeScript.YAML-tmLanguage index 7982758b..48929444 100644 --- a/TypeScript.YAML-tmLanguage +++ b/TypeScript.YAML-tmLanguage @@ -1004,7 +1004,7 @@ repository: property-accessor: name: storage.type.property.ts - match: '{{startOfIdentifier}}(get|set){{endOfIdentifier}}' + match: '{{startOfIdentifier}}(accessor|get|set){{endOfIdentifier}}' async-modifier: name: storage.modifier.async.ts diff --git a/TypeScript.tmLanguage b/TypeScript.tmLanguage index 6d2ae6a8..042f214f 100644 --- a/TypeScript.tmLanguage +++ b/TypeScript.tmLanguage @@ -3173,7 +3173,7 @@ name storage.type.property.ts match - (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(get|set)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) + (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) async-modifier diff --git a/TypeScriptReact.tmLanguage b/TypeScriptReact.tmLanguage index 81cb392b..b51441d0 100644 --- a/TypeScriptReact.tmLanguage +++ b/TypeScriptReact.tmLanguage @@ -3195,7 +3195,7 @@ name storage.type.property.tsx match - (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(get|set)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) + (?<![_$[:alnum:]])(?:(?<=\.\.\.)|(?<!\.))(accessor|get|set)(?![_$[:alnum:]])(?:(?=\.\.\.)|(?!\.)) async-modifier diff --git a/tests/baselines/autoAccessor.baseline.txt b/tests/baselines/autoAccessor.baseline.txt new file mode 100644 index 00000000..b932cef5 --- /dev/null +++ b/tests/baselines/autoAccessor.baseline.txt @@ -0,0 +1,110 @@ +original file +----------------------------------- +class C { + accessor a: number; + accessor b = 1; + abstract accessor c: number; + static accessor d = 1; +} + +----------------------------------- + +Grammar: TypeScript.tmLanguage +----------------------------------- +>class C { + ^^^^^ + source.ts meta.class.ts storage.type.class.ts + ^ + source.ts meta.class.ts + ^ + source.ts meta.class.ts entity.name.type.class.ts + ^ + source.ts meta.class.ts + ^ + source.ts meta.class.ts punctuation.definition.block.ts +> accessor a: number; + ^^^^ + source.ts meta.class.ts + ^^^^^^^^ + source.ts meta.class.ts storage.type.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts + ^^^^^^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts + ^ + source.ts meta.class.ts punctuation.terminator.statement.ts +> accessor b = 1; + ^^^^ + source.ts meta.class.ts + ^^^^^^^^ + source.ts meta.class.ts storage.type.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts keyword.operator.assignment.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts constant.numeric.decimal.ts + ^ + source.ts meta.class.ts punctuation.terminator.statement.ts +> abstract accessor c: number; + ^^^^ + source.ts meta.class.ts + ^^^^^^^^ + source.ts meta.class.ts storage.modifier.ts + ^ + source.ts meta.class.ts + ^^^^^^^^ + source.ts meta.class.ts storage.type.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts keyword.operator.type.annotation.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts + ^^^^^^ + source.ts meta.class.ts meta.field.declaration.ts meta.type.annotation.ts support.type.primitive.ts + ^ + source.ts meta.class.ts punctuation.terminator.statement.ts +> static accessor d = 1; + ^^^^ + source.ts meta.class.ts + ^^^^^^ + source.ts meta.class.ts storage.modifier.ts + ^ + source.ts meta.class.ts + ^^^^^^^^ + source.ts meta.class.ts storage.type.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts meta.definition.property.ts variable.object.property.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts keyword.operator.assignment.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts + ^ + source.ts meta.class.ts meta.field.declaration.ts constant.numeric.decimal.ts + ^ + source.ts meta.class.ts punctuation.terminator.statement.ts +>} + ^ + source.ts meta.class.ts punctuation.definition.block.ts +> + ^ + source.ts \ No newline at end of file diff --git a/tests/cases/autoAccessor.ts b/tests/cases/autoAccessor.ts new file mode 100644 index 00000000..0c2c0f1d --- /dev/null +++ b/tests/cases/autoAccessor.ts @@ -0,0 +1,6 @@ +class C { + accessor a: number; + accessor b = 1; + abstract accessor c: number; + static accessor d = 1; +}