Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: Smarty Templates |
| 3 | " Maintainer: Manfred Stienstra manfred.stienstra@dwerg.net |
| 4 | " Last Change: Mon Nov 4 11:42:23 CET 2002 |
| 5 | " Filenames: *.tpl |
| 6 | " URL: http://www.dwerg.net/projects/vim/smarty.vim |
| 7 | |
| 8 | " For version 5.x: Clear all syntax items |
| 9 | " For version 6.x: Quit when a syntax file was already loaded |
| 10 | if !exists("main_syntax") |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 11 | " quit when a syntax file was already loaded |
| 12 | if exists("b:current_syntax") |
| 13 | finish |
| 14 | endif |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 15 | let main_syntax = 'smarty' |
| 16 | endif |
| 17 | |
| 18 | syn case ignore |
| 19 | |
| 20 | runtime! syntax/html.vim |
| 21 | "syn cluster htmlPreproc add=smartyUnZone |
| 22 | |
| 23 | syn match smartyBlock contained "[\[\]]" |
| 24 | |
| 25 | syn keyword smartyTagName capture config_load include include_php |
| 26 | syn keyword smartyTagName insert if elseif else ldelim rdelim literal |
| 27 | syn keyword smartyTagName php section sectionelse foreach foreachelse |
| 28 | syn keyword smartyTagName strip assign counter cycle debug eval fetch |
| 29 | syn keyword smartyTagName html_options html_select_date html_select_time |
| 30 | syn keyword smartyTagName math popup_init popup html_checkboxes html_image |
| 31 | syn keyword smartyTagName html_radios html_table mailto textformat |
| 32 | |
| 33 | syn keyword smartyModifier cat capitalize count_characters count_paragraphs |
| 34 | syn keyword smartyModifier count_sentences count_words date_format default |
| 35 | syn keyword smartyModifier escape indent lower nl2br regex_replace replace |
| 36 | syn keyword smartyModifier spacify string_format strip strip_tags truncate |
| 37 | syn keyword smartyModifier upper wordwrap |
| 38 | |
| 39 | syn keyword smartyInFunc neq eq |
| 40 | |
| 41 | syn keyword smartyProperty contained "file=" |
| 42 | syn keyword smartyProperty contained "loop=" |
| 43 | syn keyword smartyProperty contained "name=" |
| 44 | syn keyword smartyProperty contained "include=" |
| 45 | syn keyword smartyProperty contained "skip=" |
| 46 | syn keyword smartyProperty contained "section=" |
| 47 | |
| 48 | syn keyword smartyConstant "\$smarty" |
| 49 | |
| 50 | syn keyword smartyDot . |
| 51 | |
| 52 | syn region smartyZone matchgroup=Delimiter start="{" end="}" contains=smartyProperty, smartyString, smartyBlock, smartyTagName, smartyConstant, smartyInFunc, smartyModifier |
| 53 | |
| 54 | syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,smartyZone |
| 55 | syn region htmlString contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,smartyZone |
| 56 | syn region htmlLink start="<a\>\_[^>]*\<href\>" end="</a>"me=e-4 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc,smartyZone |
| 57 | |
| 58 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 59 | |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 60 | hi def link smartyTagName Identifier |
| 61 | hi def link smartyProperty Constant |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 62 | " if you want the text inside the braces to be colored, then |
| 63 | " remove the comment in from of the next statement |
Bram Moolenaar | f37506f | 2016-08-31 22:22:10 +0200 | [diff] [blame] | 64 | "hi def link smartyZone Include |
| 65 | hi def link smartyInFunc Function |
| 66 | hi def link smartyBlock Constant |
| 67 | hi def link smartyDot SpecialChar |
| 68 | hi def link smartyModifier Function |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 69 | |
| 70 | let b:current_syntax = "smarty" |
| 71 | |
| 72 | if main_syntax == 'smarty' |
| 73 | unlet main_syntax |
| 74 | endif |
| 75 | |
| 76 | " vim: ts=8 |