diff --git a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml index 5a7ebc4f3..1a828c74c 100644 --- a/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml +++ b/packages/svelte-vscode/syntaxes/svelte.tmLanguage.src.yaml @@ -214,7 +214,8 @@ repository: { match: each|key, name: keyword.control.svelte }, { match: await|then|catch, name: keyword.control.flow.svelte }, { match: html, name: keyword.other.svelte }, - { match: debug, name: keyword.other.debugger.svelte }]} + { match: debug, name: keyword.other.debugger.svelte }, + { match: const, name: storage.type.svelte }]} # Scopes special tag _block start nodes_ depending on what type they are, such as `#if` or `#await` blocks. special-tags-modes: @@ -225,6 +226,19 @@ repository: name: meta.embedded.expression.svelte source.ts patterns: [ include: source.ts ] + # Const. + - begin: (?<=const.*?)\G + end: (?=}) + patterns: + # Variable. + - begin: \G\s*([_$[:alpha:]][_$[:alnum:]]+)\s* + end: (?=\=) + beginCaptures: { 1: { name: variable.other.constant.svelte } } + # Expression (starting with "="). + - begin: (?=\=) + end: (?=}) + patterns: [ include: source.ts#variable-initializer ] + # Each. - begin: (?<=each.*?)\G end: (?=})