diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-14 16:07:20 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-14 16:07:20 +0200 |
commit | 6b169212f82cbe81d1fbf3ae7f7dcea14bc5bec4 (patch) | |
tree | fc88e9fa76fadcb49587fbf9780da9147f8e9f3c /syntax | |
parent | 2edc785a5e21cf41960223b09bba8efc9276e777 (diff) | |
download | vim-polyglot-6b169212f82cbe81d1fbf3ae7f7dcea14bc5bec4.tar.gz vim-polyglot-6b169212f82cbe81d1fbf3ae7f7dcea14bc5bec4.zip |
Add svelte support, closes #410
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/svelte.vim | 61 | ||||
-rw-r--r-- | syntax/zig.vim | 2 |
2 files changed, 62 insertions, 1 deletions
diff --git a/syntax/svelte.vim b/syntax/svelte.vim new file mode 100644 index 00000000..e119d605 --- /dev/null +++ b/syntax/svelte.vim @@ -0,0 +1,61 @@ +if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'svelte') != -1 + finish +endif + +" Vim syntax file +" Language: Svelte 3 (HTML/JavaScript) +" Author: Evan Lecklider <evan@lecklider.com> +" Maintainer: Evan Lecklide <evan@lecklider.com> +" Depends: pangloss/vim-javascript +" URL: https://github.com/evanleck/vim-svelte +" +" Like vim-jsx, this depends on the pangloss/vim-javascript syntax package (and +" is tested against it exclusively). If you're using vim-polyglot (like I am), +" then you're all set. + +if exists("b:current_syntax") + finish +endif + +" Read HTML to begin with. +runtime! syntax/html.vim +unlet! b:current_syntax + +" Expand HTML tag names to include mixed case, periods, and colons. +syntax match htmlTagName contained "\<[a-zA-Z:\.]*\>" + +" Special attributes that include some kind of binding e.g. "on:click", +" "bind:something", etc. +syntax match svelteKeyword "\<[a-z]\+:[a-zA-Z|]\+=" contained containedin=htmlTag + +" The "slot" attribute has special meaning. +syntax keyword svelteKeyword slot contained containedin=htmlTag + +" According to vim-jsx, you can let jsBlock take care of ending the region. +" https://github.com/mxw/vim-jsx/blob/master/after/syntax/jsx.vim +" +" ALLBUT,htmlSpecialTagName keeps Vim from marking CSS regions as jsBlock. +syntax region svelteExpression start="{" end="" contains=jsBlock,javascriptBlock containedin=htmlString,htmlTag,htmlArg,htmlValue,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,htmlHead,htmlTitle,htmlBoldItalicUnderline,htmlUnderlineBold,htmlUnderlineItalicBold,htmlUnderlineBoldItalic,htmlItalicUnderline,htmlItalicBold,htmlItalicBoldUnderline,htmlItalicUnderlineBold,htmlLink,htmlLeadingSpace,htmlBold,htmlBoldUnderline,htmlBoldItalic,htmlBoldUnderlineItalic,htmlUnderline,htmlUnderlineItalic,htmlItalic,htmlStrike,javaScript + +" Block conditionals. +syntax match svelteConditional "#if" contained containedin=jsBlock,javascriptBlock +syntax match svelteConditional "/if" contained containedin=jsBlock,javascriptBlock +syntax match svelteConditional ":else if" contained containedin=jsBlock,javascriptBlock +syntax match svelteConditional ":else" contained containedin=jsBlock,javascriptBlock + +" Block keywords. +syntax match svelteKeyword "#await" contained containedin=jsBlock,javascriptBlock +syntax match svelteKeyword "/await" contained containedin=jsBlock,javascriptBlock +syntax match svelteKeyword ":catch" contained containedin=jsBlock,javascriptBlock +syntax match svelteKeyword ":then" contained containedin=jsBlock,javascriptBlock +syntax match svelteKeyword "@html" contained containedin=jsBlock,javascriptBlock + +" Repeat functions. +syntax match svelteRepeat "#each" contained containedin=jsBlock,javascriptBlock +syntax match svelteRepeat "/each" contained containedin=jsBlock,javascriptBlock + +highlight def link svelteConditional Conditional +highlight def link svelteKeyword Keyword +highlight def link svelteRepeat Repeat + +let b:current_syntax = "svelte" diff --git a/syntax/zig.vim b/syntax/zig.vim index 05e29d5f..a4a28af8 100644 --- a/syntax/zig.vim +++ b/syntax/zig.vim @@ -44,7 +44,7 @@ syn match zigBuiltinFn "\v\@(noInlineCall|bitOffsetOf|byteOffsetOf|OpaqueType|pa syn match zigBuiltinFn "\v\@(ptrToInt|rem|returnAddress|setCold)>" syn match zigBuiltinFn "\v\@(setRuntimeSafety|setEvalBranchQuota|setFloatMode)>" syn match zigBuiltinFn "\v\@(setGlobalLinkage|setGlobalSection|shlExact|This|hasDecl)>" -syn match zigBuiltinFn "\v\@(shlWithOverflow|shrExact|sizeOf|sqrt|bswap|subWithOverflow|intCast|floatCast|intToFloat|floatToInt|boolToInt|errSetCast)>" +syn match zigBuiltinFn "\v\@(shlWithOverflow|shrExact|sizeOf|sqrt|byteSwap|subWithOverflow|intCast|floatCast|intToFloat|floatToInt|boolToInt|errSetCast)>" syn match zigBuiltinFn "\v\@(truncate|typeId|typeInfo|typeName|typeOf|atomicRmw|bytesToSlice|sliceToBytes)>" syn match zigBuiltinFn "\v\@(intToError|errorToInt|intToEnum|enumToInt|setAlignStack|handle|bitreverse|Vector)>" |