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;
+}