From a4f98d2a9e9dfeb110d4a910ea177432fec88b81 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Sat, 12 Mar 2022 15:46:18 +0100 Subject: Update --- syntax/svelte-html.vim | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'syntax/svelte-html.vim') diff --git a/syntax/svelte-html.vim b/syntax/svelte-html.vim index c0b243b1..31638cd5 100644 --- a/syntax/svelte-html.vim +++ b/syntax/svelte-html.vim @@ -22,43 +22,41 @@ syntax match svelteComponentName containedin=htmlTagN '\v\C<[a-z0-9]+(-[a-z0-9]+ syntax match svelteComponentName containedin=htmlTagN '\vsvelte:\w*' " Syntax for vim-svelte-theme -syntax match htmlAttr '\v(\S|\<)@[:blank:]]+' containedin=htmlTag +syntax match htmlAttr '\v(\S|\<)@[:blank:]]+' + \ containedin=htmlTag \ contains=htmlString,svelteValue,htmlArg syntax match htmlAttrEqual '\v\=' containedin=htmlAttr -syntax match svelteAttr - \ '\v(\S)@[:blank:]]+(\=\"[^"]*\"|\=\{[^}]*\})?' +syntax match svelteAttr + \ '\(\S\)\@[:blank:]]\+\(="[^"]*"\|={[^}]*}\)\?' \ containedin=htmlTag \ contains=svelteKey,svelteValue - -syntax match svelteKey contained '\v(on|bind|use|in|out|transition|animate|class):[^\=\>[:blank:]]+' -syntax match svelteValue contained '\v\{[^}]*\}' +syntax match svelteValue contained '{[^}]*}' +syntax match svelteKey contained '\w\+:[^=>[:blank:]]\+' syntax region svelteExpression \ containedin=htmlH.*,htmlItalic \ matchgroup=svelteBrace - \ transparent \ start="{" - \ end="}\(}\)\@!" + \ end="}\(}\|;\)\@!" +" Multiple lines expressions are supposed to end with '}}' syntax region svelteExpression - \ containedin=htmlSvelteTemplate,svelteValue,htmlString,htmlValue,htmlArg,htmlTag - \ contains=@simpleJavascriptExpression,svelteAtTags + \ containedin=svelteValue,htmlValue,htmlAttr + \ contains=@simpleJavascriptExpression \ matchgroup=svelteBrace - \ transparent \ start="{" - \ end="}\(}\)\@!" + \ end="\(}\)\@<=}" syntax region svelteExpression - \ containedin=htmlTag - \ contains=@simpleJavascriptExpression,svelteAtTags,svelteShortProp + \ containedin=htmlSvelteTemplate,svelteValue,htmlString,htmlArg,htmlTag,htmlAttr,htmlValue,htmlAttr + \ contains=@simpleJavascriptExpression,svelteAtTags \ matchgroup=svelteBrace - \ transparent \ start="{" - \ end="}\(}\)\@!" + \ end="}\(}\|;\)\@!" + \ oneline -syntax match svelteAtTags '\v\@(html|debug)' -syntax match svelteShortProp '\v<\w+>' +syntax match svelteAtTags '@\(html\|debug\)' syntax region svelteBlockBody \ containedin=htmlSvelteTemplate,htmlLink @@ -101,7 +99,9 @@ syntax region javaScriptTemplateExpression syntax match javaScriptNumber '\v<-?\d+L?>|0[xX][0-9a-fA-F]+>' contained syntax match javaScriptOperator '[-!|&+<>=%*~^]' contained syntax match javaScriptOperator '\v(*)@