diff --git a/TypeScript.YAML-tmLanguage b/TypeScript.YAML-tmLanguage
index 36fa5547..f04e137e 100644
--- a/TypeScript.YAML-tmLanguage
+++ b/TypeScript.YAML-tmLanguage
@@ -2927,7 +2927,7 @@ repository:
directives:
name: comment.line.triple-slash.directive.ts
- begin: ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode)\s*=\s*({{quotedStrings}}))+\s*/>\s*$)
+ begin: ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode|preserve)\s*=\s*({{quotedStrings}}))+\s*/>\s*$)
beginCaptures:
'1': { name: punctuation.definition.comment.ts }
end: (?=$)
@@ -2942,7 +2942,7 @@ repository:
'0': { name: punctuation.definition.tag.directive.ts }
patterns:
- name: entity.other.attribute-name.directive.ts
- match: 'path|types|no-default-lib|lib|name|resolution-mode'
+ match: 'path|types|no-default-lib|lib|name|resolution-mode|preserve'
- name: keyword.operator.assignment.ts
match: '='
- include: '#string'
diff --git a/TypeScript.tmLanguage b/TypeScript.tmLanguage
index 4d91f6ad..d89ecc08 100644
--- a/TypeScript.tmLanguage
+++ b/TypeScript.tmLanguage
@@ -8951,7 +8951,7 @@
name
comment.line.triple-slash.directive.ts
begin
- ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode)\s*=\s*((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))+\s*/>\s*$)
+ ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode|preserve)\s*=\s*((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))+\s*/>\s*$)
beginCaptures
1
@@ -8998,7 +8998,7 @@
name
entity.other.attribute-name.directive.ts
match
- path|types|no-default-lib|lib|name|resolution-mode
+ path|types|no-default-lib|lib|name|resolution-mode|preserve
name
diff --git a/TypeScriptReact.tmLanguage b/TypeScriptReact.tmLanguage
index a7aec5da..ff57281f 100644
--- a/TypeScriptReact.tmLanguage
+++ b/TypeScriptReact.tmLanguage
@@ -8899,7 +8899,7 @@
name
comment.line.triple-slash.directive.tsx
begin
- ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode)\s*=\s*((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))+\s*/>\s*$)
+ ^(///)\s*(?=<(reference|amd-dependency|amd-module)(\s+(path|types|no-default-lib|lib|name|resolution-mode|preserve)\s*=\s*((\'([^\'\\]|\\.)*\')|(\"([^\"\\]|\\.)*\")|(\`([^\`\\]|\\.)*\`)))+\s*/>\s*$)
beginCaptures
1
@@ -8946,7 +8946,7 @@
name
entity.other.attribute-name.directive.tsx
match
- path|types|no-default-lib|lib|name|resolution-mode
+ path|types|no-default-lib|lib|name|resolution-mode|preserve
name
diff --git a/tests/baselines/Issue1066.baseline.txt b/tests/baselines/Issue1066.baseline.txt
new file mode 100644
index 00000000..a99fae61
--- /dev/null
+++ b/tests/baselines/Issue1066.baseline.txt
@@ -0,0 +1,44 @@
+original file
+-----------------------------------
+///
+-----------------------------------
+
+Grammar: TypeScript.tmLanguage
+-----------------------------------
+>///
+ ^^^
+ source.ts comment.line.triple-slash.directive.ts punctuation.definition.comment.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts punctuation.definition.tag.directive.ts
+ ^^^^^^^^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts entity.name.tag.directive.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts
+ ^^^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts entity.other.attribute-name.directive.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts keyword.operator.assignment.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts punctuation.definition.string.begin.ts
+ ^^^^^^^^^^^^^^^^^^^^^^^^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts punctuation.definition.string.end.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts
+ ^^^^^^^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts entity.other.attribute-name.directive.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts keyword.operator.assignment.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts punctuation.definition.string.begin.ts
+ ^^^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts string.quoted.double.ts punctuation.definition.string.end.ts
+ ^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts
+ ^^
+ source.ts comment.line.triple-slash.directive.ts meta.tag.ts punctuation.definition.tag.directive.ts
\ No newline at end of file
diff --git a/tests/cases/Issue1066.ts b/tests/cases/Issue1066.ts
new file mode 100644
index 00000000..660bed57
--- /dev/null
+++ b/tests/cases/Issue1066.ts
@@ -0,0 +1 @@
+///
\ No newline at end of file