diff --git a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml index e925ff2f2..de163d58d 100644 --- a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml +++ b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml @@ -21,8 +21,14 @@ injections: # TypeScript | 'ts' 'typescript' | 'source.ts' 'L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)': - patterns: [{begin: '(?<=>)(?!)(?=[^\n]*])', end: '(?=])', name: meta.embedded.block.svelte, + contentName: source.ts, patterns: [{ include: source.ts }]}, + # fix #1110 + {begin: '(?<=>)(?!])', name: meta.embedded.block.svelte, + contentName: source.ts, patterns: [{ include: source.ts }]} + ] # CoffeeScript | 'coffee' | 'source.coffee' 'L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)': diff --git a/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte b/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte new file mode 100644 index 000000000..96bf82c54 --- /dev/null +++ b/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte @@ -0,0 +1,3 @@ + diff --git a/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte.snap b/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte.snap new file mode 100644 index 000000000..a80f8afd4 --- /dev/null +++ b/packages/svelte-vscode/test/grammar/samples/script-type-no-semicolon/input.svelte.snap @@ -0,0 +1,23 @@ +> +#^^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.begin.svelte +# ^^^^^^ source.svelte meta.script.svelte meta.tag.end.svelte entity.name.tag.svelte +# ^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.end.svelte +> \ No newline at end of file diff --git a/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte b/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte new file mode 100644 index 000000000..efe2c8395 --- /dev/null +++ b/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte @@ -0,0 +1 @@ + diff --git a/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte.snap b/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte.snap new file mode 100644 index 000000000..85488356b --- /dev/null +++ b/packages/svelte-vscode/test/grammar/samples/script-type-single-line/input.svelte.snap @@ -0,0 +1,21 @@ +> +#^ source.svelte meta.script.svelte meta.tag.start.svelte punctuation.definition.tag.begin.svelte +# ^^^^^^ source.svelte meta.script.svelte meta.tag.start.svelte entity.name.tag.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte +# ^^^^^^^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.context.svelte entity.other.attribute-name.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.context.svelte punctuation.separator.key-value.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.context.svelte string.quoted.svelte punctuation.definition.string.begin.svelte +# ^^^^^^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.context.svelte string.quoted.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.context.svelte string.quoted.svelte punctuation.definition.string.end.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte +# ^^^^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.lang.svelte entity.other.attribute-name.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.lang.svelte punctuation.separator.key-value.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.lang.svelte string.quoted.svelte punctuation.definition.string.begin.svelte +# ^^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.lang.svelte string.quoted.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte meta.attribute.lang.svelte string.quoted.svelte punctuation.definition.string.end.svelte +# ^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.tag.start.svelte punctuation.definition.tag.end.svelte +# ^^^^^^^^^^^ source.svelte meta.script.svelte meta.lang.ts.svelte meta.embedded.block.svelte source.ts +# ^^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.begin.svelte +# ^^^^^^ source.svelte meta.script.svelte meta.tag.end.svelte entity.name.tag.svelte +# ^ source.svelte meta.script.svelte meta.tag.end.svelte punctuation.definition.tag.end.svelte +> \ No newline at end of file