1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Smarty Templates 3071d4279SBram Moolenaar" Maintainer: Manfred Stienstra [email protected] 4071d4279SBram Moolenaar" Last Change: Mon Nov 4 11:42:23 CET 2002 5071d4279SBram Moolenaar" Filenames: *.tpl 6071d4279SBram Moolenaar" URL: http://www.dwerg.net/projects/vim/smarty.vim 7071d4279SBram Moolenaar 8071d4279SBram Moolenaar" For version 5.x: Clear all syntax items 9071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded 10071d4279SBram Moolenaarif !exists("main_syntax") 1189bcfda6SBram Moolenaar " quit when a syntax file was already loaded 1289bcfda6SBram Moolenaar if exists("b:current_syntax") 13071d4279SBram Moolenaar finish 14071d4279SBram Moolenaar endif 15071d4279SBram Moolenaar let main_syntax = 'smarty' 16071d4279SBram Moolenaarendif 17071d4279SBram Moolenaar 18071d4279SBram Moolenaarsyn case ignore 19071d4279SBram Moolenaar 20071d4279SBram Moolenaarruntime! syntax/html.vim 21071d4279SBram Moolenaar"syn cluster htmlPreproc add=smartyUnZone 22071d4279SBram Moolenaar 23071d4279SBram Moolenaarsyn match smartyBlock contained "[\[\]]" 24071d4279SBram Moolenaar 25071d4279SBram Moolenaarsyn keyword smartyTagName capture config_load include include_php 26071d4279SBram Moolenaarsyn keyword smartyTagName insert if elseif else ldelim rdelim literal 27071d4279SBram Moolenaarsyn keyword smartyTagName php section sectionelse foreach foreachelse 28071d4279SBram Moolenaarsyn keyword smartyTagName strip assign counter cycle debug eval fetch 29071d4279SBram Moolenaarsyn keyword smartyTagName html_options html_select_date html_select_time 30071d4279SBram Moolenaarsyn keyword smartyTagName math popup_init popup html_checkboxes html_image 31071d4279SBram Moolenaarsyn keyword smartyTagName html_radios html_table mailto textformat 32071d4279SBram Moolenaar 33071d4279SBram Moolenaarsyn keyword smartyModifier cat capitalize count_characters count_paragraphs 34071d4279SBram Moolenaarsyn keyword smartyModifier count_sentences count_words date_format default 35071d4279SBram Moolenaarsyn keyword smartyModifier escape indent lower nl2br regex_replace replace 36071d4279SBram Moolenaarsyn keyword smartyModifier spacify string_format strip strip_tags truncate 37071d4279SBram Moolenaarsyn keyword smartyModifier upper wordwrap 38071d4279SBram Moolenaar 39071d4279SBram Moolenaarsyn keyword smartyInFunc neq eq 40071d4279SBram Moolenaar 41071d4279SBram Moolenaarsyn keyword smartyProperty contained "file=" 42071d4279SBram Moolenaarsyn keyword smartyProperty contained "loop=" 43071d4279SBram Moolenaarsyn keyword smartyProperty contained "name=" 44071d4279SBram Moolenaarsyn keyword smartyProperty contained "include=" 45071d4279SBram Moolenaarsyn keyword smartyProperty contained "skip=" 46071d4279SBram Moolenaarsyn keyword smartyProperty contained "section=" 47071d4279SBram Moolenaar 48071d4279SBram Moolenaarsyn keyword smartyConstant "\$smarty" 49071d4279SBram Moolenaar 50071d4279SBram Moolenaarsyn keyword smartyDot . 51071d4279SBram Moolenaar 52071d4279SBram Moolenaarsyn region smartyZone matchgroup=Delimiter start="{" end="}" contains=smartyProperty, smartyString, smartyBlock, smartyTagName, smartyConstant, smartyInFunc, smartyModifier 53071d4279SBram Moolenaar 54071d4279SBram Moolenaarsyn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,smartyZone 55071d4279SBram Moolenaarsyn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,smartyZone 56071d4279SBram Moolenaar syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc,smartyZone 57071d4279SBram Moolenaar 58071d4279SBram Moolenaar 59071d4279SBram Moolenaar 60*f37506f6SBram Moolenaarhi def link smartyTagName Identifier 61*f37506f6SBram Moolenaarhi def link smartyProperty Constant 62071d4279SBram Moolenaar" if you want the text inside the braces to be colored, then 63071d4279SBram Moolenaar" remove the comment in from of the next statement 64*f37506f6SBram Moolenaar"hi def link smartyZone Include 65*f37506f6SBram Moolenaarhi def link smartyInFunc Function 66*f37506f6SBram Moolenaarhi def link smartyBlock Constant 67*f37506f6SBram Moolenaarhi def link smartyDot SpecialChar 68*f37506f6SBram Moolenaarhi def link smartyModifier Function 69071d4279SBram Moolenaar 70071d4279SBram Moolenaarlet b:current_syntax = "smarty" 71071d4279SBram Moolenaar 72071d4279SBram Moolenaarif main_syntax == 'smarty' 73071d4279SBram Moolenaar unlet main_syntax 74071d4279SBram Moolenaarendif 75071d4279SBram Moolenaar 76071d4279SBram Moolenaar" vim: ts=8 77