diff options
Diffstat (limited to '')
-rw-r--r-- | syntax/blade.vim | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/syntax/blade.vim b/syntax/blade.vim new file mode 100644 index 00000000..a02b88ae --- /dev/null +++ b/syntax/blade.vim @@ -0,0 +1,35 @@ +" Language: Blade (Laravel) +" Maintainer: xsbeats <jwalton512@gmail.com> +" URL: http://github.com/xsbeats/vim-blade +" License: WTFPL + +if exists("b:current_syntax") + finish +endif + +runtime! syntax/html.vim +unlet b:current_syntax + +runtime! syntax/php.vim +unlet b:current_syntax + +syn match bladeConditional /@\(choice\|each\|elseif\|extends\|for\|foreach\|if\|include\|lang\|section\|unless\|while\|yield\)\>\s*/ nextgroup=bladeParenBlock containedin=ALLBUT,bladeComment + +syn match bladeKeyword /@\(else\|endfor\|endforeach\|endif\|endsection\|endunless\|endwhile\|overwrite\|parent\|show\|stop\)\>/ containedin=ALL,bladeComment + +syn region bladeCommentBlock start="{{--" end="--}}" contains=bladeComment keepend containedin=TOP +syn match bladeComment /.*/ contained containedin=bladeCommentBlock + +syn region bladeEchoUnescaped matchgroup=bladeEchoDelim start="\([@|{]\)\@<!{{\(--\)\@!" end="}}" contains=@phpClInside containedin=ALLBUT,bladeComment +syn region bladeEchoEscaped matchgroup=bladeEchoDelim start="\(@\)\@<!{{{" end="}}}" contains=@phpClInside containedin=ALLBUT,bladeComment + +syn cluster bladeStatement contains=bladeConditional,bladeKeyword + +syn region bladeParenBlock start="(" end=")" contained oneline contains=bladeParenBlock,@phpClInside,@bladeStatement extend keepend + +hi def link bladeComment Comment +hi def link bladeConditional Conditional +hi def link bladeKeyword Keyword +hi def link bladeEchoDelim Delimiter + +let b:current_syntax = 'blade' |