xref: /vim-8.2.3635/runtime/syntax/smarty.vim (revision f37506f6)
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