diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2014-02-04 19:15:58 +0100 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2014-02-04 19:15:58 +0100 |
commit | d51b8fd17e3804f8d5ede68674b558174519abb2 (patch) | |
tree | d575d28b15cbc5a8a6cc7e106ef4fdbe47d9df30 /syntax | |
parent | fa573209195e94d621f50bfe37cf9007f6e8d720 (diff) | |
download | vim-polyglot-1.5.2.tar.gz vim-polyglot-1.5.2.zip |
Change handlebars syntax vendor, fixes #13v1.5.2
Diffstat (limited to 'syntax')
-rw-r--r-- | syntax/handlebars.vim | 93 | ||||
-rw-r--r-- | syntax/mustache.vim | 89 |
2 files changed, 89 insertions, 93 deletions
diff --git a/syntax/handlebars.vim b/syntax/handlebars.vim deleted file mode 100644 index 706a4501..00000000 --- a/syntax/handlebars.vim +++ /dev/null @@ -1,93 +0,0 @@ -" Handlebars syntax -" Language: Handlebars -" Maintainer: Bruno Michel <brmichel@free.fr> -" Last Change: Mar 8th, 2013 -" Version: 0.3 -" URL: https://github.com/nono/vim-handlebars - -if version < 600 - syntax clear -elseif exists("b:current_syntax") - finish -endif - -if !exists("main_syntax") - let main_syntax = 'html' -endif - -ru! syntax/html.vim -unlet b:current_syntax - - -syn region hbsInside start=/{{/ end=/}}/ keepend - -syn keyword hbsTodo TODO FIXME XXX contained - -syn match hbsError /}}}\?/ -syn match hbsInsideError /{{[{#<>=!\/]\?/ contained containedin=@hbsInside - -syn match hbsHandlebars "{{\|}}" contained containedin=hbsInside -syn match hbsUnescape "{{{\|}}}" contained containedin=hbsInside extend -syn match hbsOperators "=\|\.\|/" contained containedin=hbsInside - -syn region hbsSection start="{{[#/]"lc=2 end=/}}/me=e-2 contained containedin=hbsInside -syn region hbsPartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=hbsInside -syn region hbsMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=hbsInside - -syn region hbsComment start=/{{!/rs=s+2 end=/}}/re=e-2 contained containedin=hbsInside contains=hbsTodo,Todo -syn region hbsBlockComment start=/{{!--/rs=s+2 end=/--}}/re=e-2 contained containedin=hbsInside contains=hbsTodo,Todo extend -syn region hbsQString start=/'/ skip=/\\'/ end=/'/ contained containedin=hbsInside -syn region hbsDQString start=/"/ skip=/\\"/ end=/"/ contained containedin=hbsInside - -syn match hbsConditionals "\([/#]\(if\|unless\)\|else\)" contained containedin=hbsInside -syn match hbsHelpers "[/#]\(with\|each\)" contained containedin=hbsInside - -syn cluster allHbsItems add=hbsTodo,hbsError,hbsInsideError,hbsInside,hbsHandlebars, -\ hbsUnescape,hbsOperators,hbsSection,hbsPartial,hbsMarkerSet, -\ hbsComment,hbsBlockComment,hbsQString,hbsDQString,hbsConditionals, -\ hbsHelpers,hbsPartial,hbsMarkerSet,hbsComment,hbsBlockComment, -\ hbsQString,hbsDQString,hbsConditionals,hbsHelpers - -syn cluster htmlAdditional add=htmlTag,htmlEndTag,htmlTagName,htmlSpecialChar - -syn region hbsScriptTemplate start=+<script [^>]*type *=[^>]*text/x-handlebars-template[^>]*>+ -\ end=+</script>+me=s-1 keepend contains=@htmlHbsContainer,@allHbsItems,@htmlAdditional - - -" Define the default highlighting. -" For version 5.7 and earlier: only when not done already -" For version 5.8 and later: only when an item doesn't have highlighting yet -if version >= 508 || !exists("did_lisp_syntax_inits") - if version < 508 - let did_lisp_syntax_inits = 1 - command -nargs=+ HiLink hi link <args> - else - command -nargs=+ HiLink hi def link <args> - endif - - HiLink hbsTodo Todo - - HiLink hbsError Error - HiLink hbsInsideError Error - - HiLink hbsHandlebars Identifier - HiLink hbsUnescape Special - HiLink hbsOperators Operator - - HiLink hbsConditionals Conditional - HiLink hbsHelpers Repeat - - HiLink hbsSection Number - HiLink hbsPartial Include - HiLink hbsMarkerSet Number - - HiLink hbsBlockComment Comment - HiLink hbsComment Comment - HiLink hbsQString String - HiLink hbsDQString String - - delcommand HiLink -endif - - -let b:current_syntax = 'handlebars' diff --git a/syntax/mustache.vim b/syntax/mustache.vim new file mode 100644 index 00000000..cae672ca --- /dev/null +++ b/syntax/mustache.vim @@ -0,0 +1,89 @@ +" Mustache & Handlebars syntax +" Language: Mustache, Handlebars +" Maintainer: Juvenn Woo <machese@gmail.com> +" Screenshot: http://imgur.com/6F408 +" Version: 2 +" Last Change: Oct 26th 2013 +" Remark: +" It lexically hilights embedded mustaches (exclusively) in html file. +" While it was written for Ruby-based Mustache template system, it should +" work for Google's C-based *ctemplate* as well as Erlang-based *et*. All +" of them are, AFAIK, based on the idea of ctemplate. +" References: +" [Mustache](http://github.com/defunkt/mustache) +" [Handlebars](https://github.com/wycats/handlebars.js) +" [ctemplate](http://code.google.com/p/google-ctemplate/) +" [ctemplate doc](http://google-ctemplate.googlecode.com/svn/trunk/doc/howto.html) +" [et](http://www.ivan.fomichev.name/2008/05/erlang-template-engine-prototype.html) +" TODO: Feedback is welcomed. + + +" Read the HTML syntax to start with +if version < 600 + so <sfile>:p:h/html.vim +else + runtime! syntax/html.vim + unlet b:current_syntax +endif + +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +" Standard HiLink will not work with included syntax files +if version < 508 + command! -nargs=+ HtmlHiLink hi link <args> +else + command! -nargs=+ HtmlHiLink hi def link <args> +endif + +syntax match mustacheError '}}}\?' +syntax match mustacheInsideError '{{[{#<>=!\/]\?' +syntax region mustacheInside start=/{{/ end=/}}}\?/ keepend containedin=TOP,@htmlMustacheContainer +syntax match mustacheOperators '=\|\.\|/' contained containedin=mustacheInside,@htmlMustacheContainer +syntax region mustacheSection start='{{[#/]'lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer +syntax region mustachePartial start=/{{[<>]/lc=2 end=/}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer +syntax region mustacheMarkerSet start=/{{=/lc=2 end=/=}}/me=e-2 contained containedin=mustacheInside,@htmlMustacheContainer +syntax match mustacheHandlebars '{{\|}}' contained containedin=mustacheInside,@htmlMustacheContainer +syntax match mustacheUnescape '{{{\|}}}' contained containedin=mustacheInside,@htmlMustacheContainer +syntax match mustacheConditionals '\([/#]\(if\|unless\)\|else\)' contained containedin=mustacheInside +syntax match mustacheHelpers '[/#]\(with\|each\)' contained containedin=mustacheSection +syntax region mustacheComment start=/{{!/rs=s+2 end=/}}/re=e-2 contains=Todo contained containedin=mustacheInside,@htmlMustacheContainer +syntax region mustacheBlockComment start=/{{!--/rs=s+2 end=/--}}/re=e-2 contains=Todo +syntax region mustacheQString start=/'/ skip=/\\'/ end=/'/ contained containedin=mustacheInside +syntax region mustacheDQString start=/"/ skip=/\\"/ end=/"/ contained containedin=mustacheInside + +" Clustering +syntax cluster htmlMustacheContainer add=htmlHead,htmlTitle,htmlString,htmlH1,htmlH2,htmlH3,htmlH4,htmlH5,htmlH6,htmlLink,htmlBold,htmlUnderline,htmlItalic,htmlValue + + +" Hilighting +" mustacheInside hilighted as Number, which is rarely used in html +" you might like change it to Function or Identifier +HtmlHiLink mustacheVariable Number +HtmlHiLink mustacheVariableUnescape Number +HtmlHiLink mustachePartial Number +HtmlHiLink mustacheSection Number +HtmlHiLink mustacheMarkerSet Number + +HtmlHiLink mustacheComment Comment +HtmlHiLink mustacheBlockComment Comment +HtmlHiLink mustacheError Error +HtmlHiLink mustacheInsideError Error + +HtmlHiLink mustacheHandlebars Special +HtmlHiLink mustacheUnescape Identifier +HtmlHiLink mustacheOperators Operator +HtmlHiLink mustacheConditionals Conditional +HtmlHiLink mustacheHelpers Repeat +HtmlHiLink mustacheQString String +HtmlHiLink mustacheDQString String + +syn region mustacheScriptTemplate start=+<script [^>]*type *=[^>]*text/\(mustache\|x-handlebars-template\)[^>]*>+ +\ end=+</script>+me=s-1 keepend +\ contains=mustacheInside,@htmlMustacheContainer,htmlTag,htmlEndTag,htmlTagName,htmlSpecialChar + +let b:current_syntax = "mustache" +delcommand HtmlHiLink |