From: Armin Ronacher Date: Fri, 9 May 2008 09:54:07 +0000 (+0200) Subject: added TextMate bundle and vim syntax files X-Git-Tag: 2.0rc1~81 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=decf7e3c108c2b467bc96e67672cb3fb95d79166;p=jinja2.git added TextMate bundle and vim syntax files --HG-- branch : trunk --- diff --git a/docs/_static/style.css b/docs/_static/style.css index 097b229..8bfa23e 100644 --- a/docs/_static/style.css +++ b/docs/_static/style.css @@ -134,7 +134,6 @@ p { line-height: 20px; margin-bottom: 0; margin-top: 10px; - text-align: justify; } hr { @@ -254,7 +253,7 @@ div.admonition p { } a.headerlink { - color: #B4B4B4; + color: #B4B4B4!important; font-size: 0.8em; margin-left: 8px; padding: 0 4px 0 4px; diff --git a/docs/integration.rst b/docs/integration.rst index e5c2cb7..02dacef 100644 --- a/docs/integration.rst +++ b/docs/integration.rst @@ -58,11 +58,20 @@ TODO TextMate -------- -TODO +Inside the `ext` folder of Jinja2 there is a bundle for TextMate that supports +syntax highlighting for Jinja1 and Jinja2 for text based templates as well as +HTML. It also contains a few often used snippets. Vim --- -TODO +A syntax plugin for `Vim`_ exists in the Vim-scripts directory as well as the +ext folder of Jinja2. `The script `_ +supports Jinja1 and Jinja2. Once installed two file types are available `jinja` +and `htmljinja`. The first one for text based templates, the latter for HTML +templates. + +Copy the files into your `syntax` folder. .. _Babel: http://babel.edgewall.org/ +.. _Vim: http://www.vim.org/ diff --git a/ext/Jinja.tmbundle/Commands/Help.tmCommand b/ext/Jinja Templates.tmbundle/Commands/Help.tmCommand similarity index 74% rename from ext/Jinja.tmbundle/Commands/Help.tmCommand rename to ext/Jinja Templates.tmbundle/Commands/Help.tmCommand index d106dec..e119515 100644 --- a/ext/Jinja.tmbundle/Commands/Help.tmCommand +++ b/ext/Jinja Templates.tmbundle/Commands/Help.tmCommand @@ -10,10 +10,9 @@ html_header "Jinja Help" "Jinja Templates" Markdown.pl <<'EOF' -This document describes the commands of the TextMate Jinja Templates bundle and how you can use it. For general Jinja help you should read the [Jinja Documentation](http:/jinja.pocoo.org/documentation/ "Jinja Documentation Overview"). +This document describes the commands of the TextMate Jinja Templates bundle and how you can use it. For general Jinja help you should read the documentation on the [Jinja website](http:/jinja.pocoo.org/ "Jinja Webpage"). -## Requirements -The Jinja support requires Jinja to be installed in the default python interpreter the system uses. If Jinja is not installed you cannot use the syntax validator. +This bundle supports Jinja1 and Jinja2. EOF diff --git a/ext/Jinja.tmbundle/Commands/Validate Syntax.tmCommand b/ext/Jinja Templates.tmbundle/Commands/Validate Syntax.tmCommand similarity index 100% rename from ext/Jinja.tmbundle/Commands/Validate Syntax.tmCommand rename to ext/Jinja Templates.tmbundle/Commands/Validate Syntax.tmCommand diff --git a/ext/Jinja.tmbundle/Commands/Wrap in Tag.tmCommand b/ext/Jinja Templates.tmbundle/Commands/Wrap in Tag.tmCommand similarity index 100% rename from ext/Jinja.tmbundle/Commands/Wrap in Tag.tmCommand rename to ext/Jinja Templates.tmbundle/Commands/Wrap in Tag.tmCommand diff --git a/ext/Jinja.tmbundle/Commands/Wrap in Variable Tag.tmCommand b/ext/Jinja Templates.tmbundle/Commands/Wrap in Variable Tag.tmCommand similarity index 100% rename from ext/Jinja.tmbundle/Commands/Wrap in Variable Tag.tmCommand rename to ext/Jinja Templates.tmbundle/Commands/Wrap in Variable Tag.tmCommand diff --git a/ext/Jinja Templates.tmbundle/Macros/No automatic Completion for {.tmMacro b/ext/Jinja Templates.tmbundle/Macros/No automatic Completion for {.tmMacro new file mode 100644 index 0000000..571bf38 --- /dev/null +++ b/ext/Jinja Templates.tmbundle/Macros/No automatic Completion for {.tmMacro @@ -0,0 +1,27 @@ + + + + + commands + + + argument + { + command + insertText: + + + command + deleteForward: + + + keyEquivalent + { + name + No automatic Completion for { + scope + source.jinja, text.html.jinja + uuid + 31E30D4A-5CA5-4E4A-9C13-AB8ED6C1EB94 + + diff --git a/ext/Jinja.tmbundle/Preferences/Symbol List: Blocks.tmPreferences b/ext/Jinja Templates.tmbundle/Preferences/Symbol List: Blocks.tmPreferences similarity index 100% rename from ext/Jinja.tmbundle/Preferences/Symbol List: Blocks.tmPreferences rename to ext/Jinja Templates.tmbundle/Preferences/Symbol List: Blocks.tmPreferences diff --git a/ext/Jinja.tmbundle/Snippets/block.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Block.tmSnippet similarity index 78% rename from ext/Jinja.tmbundle/Snippets/block.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Block.tmSnippet index 5d6396c..c5943dd 100644 --- a/ext/Jinja.tmbundle/Snippets/block.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Block.tmSnippet @@ -3,16 +3,16 @@ content - {% block $1 %} + {% block ${1:name} %} $2 {% endblock %} name - block + Block scope source.jinja, text.html.jinja tabTrigger block uuid - 24C0F9CE-D3F1-4677-8A2E-EFFE776098F0 + 152FEFB6-EE41-47D1-B9AD-4E30AF64406C diff --git a/ext/Jinja.tmbundle/Snippets/capitalize.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Complete Block.tmSnippet similarity index 71% rename from ext/Jinja.tmbundle/Snippets/capitalize.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Complete Block.tmSnippet index 48d924e..5be9823 100644 --- a/ext/Jinja.tmbundle/Snippets/capitalize.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Complete Block.tmSnippet @@ -3,14 +3,14 @@ content - |capitalize + {% $0 %} name - capitalize + Complete Block scope source.jinja, text.html.jinja tabTrigger - | + {% uuid - 4CCD42F3-8E6E-4B96-9D5D-BFB81E714948 + 08A0C481-0E5A-425E-9486-EC7D681DA01D diff --git a/ext/Jinja.tmbundle/Snippets/abs.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Complete Variable.tmSnippet similarity index 70% rename from ext/Jinja.tmbundle/Snippets/abs.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Complete Variable.tmSnippet index c6acdf8..1ee6e27 100644 --- a/ext/Jinja.tmbundle/Snippets/abs.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Complete Variable.tmSnippet @@ -3,14 +3,14 @@ content - |abs + {{ $0 }} name - abs + Complete Variable scope source.jinja, text.html.jinja tabTrigger - | + {{ uuid - 7E9487F0-B012-4735-96DA-124EF3C87B15 + 502E364B-D4D5-45F0-A996-5E71B3E5B7B6 diff --git a/ext/Jinja.tmbundle/Snippets/extends.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Extends.tmSnippet similarity index 73% rename from ext/Jinja.tmbundle/Snippets/extends.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Extends.tmSnippet index 7af79ca..f3981f0 100644 --- a/ext/Jinja.tmbundle/Snippets/extends.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Extends.tmSnippet @@ -3,14 +3,14 @@ content - {% extends $1 %} + {% extends ${1:"${2:template}"} %} name - extends + Extends scope source.jinja, text.html.jinja tabTrigger extends uuid - CE75CB61-2FDA-4139-B21E-7DE143FAFA1B + 9BE0D536-28D2-4BAB-ACDA-2DEFD0CF291A diff --git a/ext/Jinja.tmbundle/Snippets/filter.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Filter.tmSnippet similarity index 76% rename from ext/Jinja.tmbundle/Snippets/filter.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Filter.tmSnippet index 973e4bb..6e9b3f7 100644 --- a/ext/Jinja.tmbundle/Snippets/filter.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Filter.tmSnippet @@ -3,16 +3,16 @@ content - {% filter ${1:filter_name} %} + {% filter ${1:filter} %} $2 {% endfilter %} name - filter + Filter scope source.jinja, text.html.jinja tabTrigger filter uuid - 85C07823-2B9D-4631-88E7-AEF4E1BE9482 + 1437E81D-2EB6-412E-8D6E-48B4D3B0685E diff --git a/ext/Jinja.tmbundle/Snippets/for ___ in ___.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/For.tmSnippet similarity index 75% rename from ext/Jinja.tmbundle/Snippets/for ___ in ___.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/For.tmSnippet index 25989e7..019d804 100644 --- a/ext/Jinja.tmbundle/Snippets/for ___ in ___.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/For.tmSnippet @@ -3,16 +3,16 @@ content - {% for ${1:item} in ${2:$1s} %} + {% for ${1:item} in ${2:sequence} %} $3 {% endfor %} name - for + For scope source.jinja, text.html.jinja tabTrigger for uuid - C0C77C85-3A4E-4DAE-AEE3-533FA0DEA0C0 + 2B7AD6C9-0811-43B9-8E12-BE30772C7453 diff --git a/ext/Jinja.tmbundle/Snippets/if.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/If.tmSnippet similarity index 77% rename from ext/Jinja.tmbundle/Snippets/if.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/If.tmSnippet index 2391083..620bb43 100644 --- a/ext/Jinja.tmbundle/Snippets/if.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/If.tmSnippet @@ -3,16 +3,16 @@ content - {% if $1 %} - $1 + {% if ${1:expr} %} + $2 {% endif %} name - if + If scope source.jinja, text.html.jinja tabTrigger if uuid - 5B95AA2C-B0E7-4886-9A55-90C1939D39C8 + 56CCF05B-99DA-4899-AFF2-438C61BFE6B7 diff --git a/ext/Jinja.tmbundle/Snippets/macro.tmSnippet b/ext/Jinja Templates.tmbundle/Snippets/Macro.tmSnippet similarity index 76% rename from ext/Jinja.tmbundle/Snippets/macro.tmSnippet rename to ext/Jinja Templates.tmbundle/Snippets/Macro.tmSnippet index d064eeb..311ffb2 100644 --- a/ext/Jinja.tmbundle/Snippets/macro.tmSnippet +++ b/ext/Jinja Templates.tmbundle/Snippets/Macro.tmSnippet @@ -3,16 +3,16 @@ content - {% macro ${1:macro_name}($2) %} + {% macro ${1:name}(${2:args}) %} $3 {% endmacro %} name - macro + Macro scope source.jinja, text.html.jinja tabTrigger macro uuid - D3BE8551-A17F-47A4-A47D-02F00124F984 + 2ECE58B8-7AB7-43DA-B00F-51C2533284AD diff --git a/ext/Jinja.tmbundle/Syntaxes/HTML (Jinja Templates).tmLanguage b/ext/Jinja Templates.tmbundle/Syntaxes/HTML (Jinja Templates).tmLanguage similarity index 100% rename from ext/Jinja.tmbundle/Syntaxes/HTML (Jinja Templates).tmLanguage rename to ext/Jinja Templates.tmbundle/Syntaxes/HTML (Jinja Templates).tmLanguage diff --git a/ext/Jinja.tmbundle/Syntaxes/Jinja Templates.tmLanguage b/ext/Jinja Templates.tmbundle/Syntaxes/Jinja Templates.tmLanguage similarity index 94% rename from ext/Jinja.tmbundle/Syntaxes/Jinja Templates.tmLanguage rename to ext/Jinja Templates.tmbundle/Syntaxes/Jinja Templates.tmLanguage index 57e20ac..7c81eab 100644 --- a/ext/Jinja.tmbundle/Syntaxes/Jinja Templates.tmLanguage +++ b/ext/Jinja Templates.tmbundle/Syntaxes/Jinja Templates.tmLanguage @@ -152,7 +152,7 @@ match - \b(block)\s+([a-zA-Z_][a-zA-Z0-9_]*) + \s*\b(block)\s+([a-zA-Z_][a-zA-Z0-9_]*)\b captures @@ -169,7 +169,7 @@ match - \b(filter)\s+([a-zA-Z_][a-zA-Z0-9_]*) + \s*\b(filter)\s+([a-zA-Z_][a-zA-Z0-9_]*)\b captures @@ -186,23 +186,35 @@ match - \b(is)\s+([a-zA-Z_][a-zA-Z0-9_]*) + \s*\b(is)\s+([a-zA-Z_][a-zA-Z0-9_]*)\b + + + captures + + 1 + + name + keyword.control.jinja + + + match + (?<=\{\%-|\{\%)\s*\b([a-zA-Z_][a-zA-Z0-9_]*)\b(?!\s*[,=]) match - \b(and|block|call|cycle|elif|else|endblock|endcall|endfilter|endfor|endif|endmacro|endraw|endtrans|extends|filter|for|if|in|include|is|macro|not|or|pluralize|print|raw|recursive|set|trans)\b + \b(and|else|if|in|import|not|or|recursive|with(out)?\s+context)\b name keyword.control.jinja match - \b(true|false|undefined|none|_)\b + \b(true|false|none)\b name constant.language.jinja match - \b(loop|super)\b + \b(loop|super|self|varargs|kwargs)\b name variable.language.jinja diff --git a/ext/Jinja.tmbundle/info.plist b/ext/Jinja Templates.tmbundle/info.plist similarity index 61% rename from ext/Jinja.tmbundle/info.plist rename to ext/Jinja Templates.tmbundle/info.plist index 196f5f0..2470078 100644 --- a/ext/Jinja.tmbundle/info.plist +++ b/ext/Jinja Templates.tmbundle/info.plist @@ -87,60 +87,20 @@ CB0F3F8E-6062-4610-85B3-8905C61AD85A 488399C0-5D29-4704-BE85-E03A461C34E7 - C0C77C85-3A4E-4DAE-AEE3-533FA0DEA0C0 - 5B95AA2C-B0E7-4886-9A55-90C1939D39C8 - 24C0F9CE-D3F1-4677-8A2E-EFFE776098F0 - D3BE8551-A17F-47A4-A47D-02F00124F984 - 85C07823-2B9D-4631-88E7-AEF4E1BE9482 - 73F00DE1-17B0-4C8C-B495-82A3689EB6F1 - CE75CB61-2FDA-4139-B21E-7DE143FAFA1B - 7E9487F0-B012-4735-96DA-124EF3C87B15 - 13A0482A-4EA3-406C-A74B-90131C529E25 - 4CCD42F3-8E6E-4B96-9D5D-BFB81E714948 - 21EA80D9-967D-4681-BD17-765F1688EE5A - 65CCCA35-3231-4B63-B67D-5FB596D833C7 - 3D708572-4CD6-40D6-9F3B-CC96784CC069 - 3416F5A3-C0A2-4B4B-ABBA-9EA40207E2B4 - 6721CF2A-9DA7-4A7E-85C2-FE609E100DE8 - FDE05A63-E81C-474C-A1A9-47FD862F39EE - 9B7F35A9-3A98-4736-9AB3-21BD9BFB5069 - FDFF242A-F3FB-4A4C-BE1A-F1311158B32B - 4BA654F6-F412-4AF9-9CEA-72BD1A709AF4 - 93EEDABE-BC52-4883-AF3D-DE4A44C3C246 - 307C3853-AA0B-441C-A3D4-DE5CAE2C1673 - 0A6ECEB6-410E-4CF5-823E-139E8769BA16 - FBD6F4B2-3206-4CA9-AE99-B2C78149A357 - 93E22AC4-B2B8-426D-89C9-FB416F24F975 - 6B7CA02D-D6CF-4F16-9A1E-7610DAEBB43F - 7F5037F1-CCC2-4179-98CA-66D001144AC2 - 6F1D6BEF-3D53-4EC8-9C42-DF0D1D2E68C5 - 78EEA703-C74E-4D71-9DDA-5674E3AB50D7 - 1B45C5DE-21D2-4E2A-B7C6-794C9D7ECB99 - B964A222-F305-44C9-B23C-0D2A55112C43 - C2DF4AC6-C586-4F6C-9A97-916558C248D7 - 7DE5D7CF-81BB-4AB3-A9B8-938D47918237 - 95E641E1-CAA4-4984-B406-54FEC11D5F1B - E0F620DA-1CDA-4913-AD04-CAC8C63089D8 - E527CC83-06C6-4B54-8FDC-61FB4554B251 - 27647146-46AC-4F2A-9069-178E359E55DF - D64E1E71-A89E-4349-8178-97BC06A5B35F - 866F74E0-D58C-4BCB-A256-3D94CFB612D9 - AE1A2C7A-2D10-466F-9EB0-E8B540E7BA6E - 2EB9BB55-E38C-4FA9-81B7-73B1A73F65C7 - B99D5C37-BE6D-4397-9F32-90BD1A02E016 - A199B66F-5B1A-4210-9B22-1FC6738EAD76 - 3F749711-C818-41C2-8FB0-844CD2839617 - 823ABA67-7CA7-4F4F-ACC1-7D84AAC56469 - 1C0A622E-7F37-437F-95A3-5342DEA80B4E - DEDD7EB3-FFD2-4BFD-8D59-5DA8ED0F567F - 40423A4E-9ED4-402C-A5BB-193797A73101 - 6000AFC3-4398-4500-B055-296D17DDAB48 - CA8BCFEA-2BDB-4CB8-8E31-6388ECEF05BB 889E682B-196A-4424-8A87-EBFDC86BAAFC 44B1526F-5825-40A5-AB42-6433F1DD02D9 07198D95-F344-47EB-B1F2-69F2DC10BA1F BD126F84-B849-407F-BE62-EF984946EB82 04309583-742D-4470-8FA7-A12EF5536215 + 31E30D4A-5CA5-4E4A-9C13-AB8ED6C1EB94 + 08A0C481-0E5A-425E-9486-EC7D681DA01D + 502E364B-D4D5-45F0-A996-5E71B3E5B7B6 + 2B7AD6C9-0811-43B9-8E12-BE30772C7453 + 56CCF05B-99DA-4899-AFF2-438C61BFE6B7 + 1437E81D-2EB6-412E-8D6E-48B4D3B0685E + 152FEFB6-EE41-47D1-B9AD-4E30AF64406C + 2ECE58B8-7AB7-43DA-B00F-51C2533284AD + 9BE0D536-28D2-4BAB-ACDA-2DEFD0CF291A uuid B4E6C4DD-43DB-473D-8E0F-662C5E64C31D diff --git a/ext/Jinja.tmbundle/Snippets/batch.tmSnippet b/ext/Jinja.tmbundle/Snippets/batch.tmSnippet deleted file mode 100644 index 0702e87..0000000 --- a/ext/Jinja.tmbundle/Snippets/batch.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |batch(${1:rows})$2 - name - batch - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 13A0482A-4EA3-406C-A74B-90131C529E25 - - diff --git a/ext/Jinja.tmbundle/Snippets/capture.tmSnippet b/ext/Jinja.tmbundle/Snippets/capture.tmSnippet deleted file mode 100644 index a117d6b..0000000 --- a/ext/Jinja.tmbundle/Snippets/capture.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |capture(${1:captured})$2 - name - capture - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 21EA80D9-967D-4681-BD17-765F1688EE5A - - diff --git a/ext/Jinja.tmbundle/Snippets/center.tmSnippet b/ext/Jinja.tmbundle/Snippets/center.tmSnippet deleted file mode 100644 index f6d057d..0000000 --- a/ext/Jinja.tmbundle/Snippets/center.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |center(${1:width})$2 - name - center - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 65CCCA35-3231-4B63-B67D-5FB596D833C7 - - diff --git a/ext/Jinja.tmbundle/Snippets/default.tmSnippet b/ext/Jinja.tmbundle/Snippets/default.tmSnippet deleted file mode 100644 index 6dd704c..0000000 --- a/ext/Jinja.tmbundle/Snippets/default.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |default(${1:value})$2 - name - default - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 3D708572-4CD6-40D6-9F3B-CC96784CC069 - - diff --git a/ext/Jinja.tmbundle/Snippets/dformat.tmSnippet b/ext/Jinja.tmbundle/Snippets/dformat.tmSnippet deleted file mode 100644 index 53f8965..0000000 --- a/ext/Jinja.tmbundle/Snippets/dformat.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |dformat(${2:{$1\}})$3 - name - dformat - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 3416F5A3-C0A2-4B4B-ABBA-9EA40207E2B4 - - diff --git a/ext/Jinja.tmbundle/Snippets/dictsort.tmSnippet b/ext/Jinja.tmbundle/Snippets/dictsort.tmSnippet deleted file mode 100644 index a3e9f7c..0000000 --- a/ext/Jinja.tmbundle/Snippets/dictsort.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |dictsort - name - dictsort - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 6721CF2A-9DA7-4A7E-85C2-FE609E100DE8 - - diff --git a/ext/Jinja.tmbundle/Snippets/escape.tmSnippet b/ext/Jinja.tmbundle/Snippets/escape.tmSnippet deleted file mode 100644 index 5d026e4..0000000 --- a/ext/Jinja.tmbundle/Snippets/escape.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |e - name - escape - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - FDE05A63-E81C-474C-A1A9-47FD862F39EE - - diff --git a/ext/Jinja.tmbundle/Snippets/filesizeformat.tmSnippet b/ext/Jinja.tmbundle/Snippets/filesizeformat.tmSnippet deleted file mode 100644 index cd47158..0000000 --- a/ext/Jinja.tmbundle/Snippets/filesizeformat.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |filesizeformat - name - filesizeformat - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 9B7F35A9-3A98-4736-9AB3-21BD9BFB5069 - - diff --git a/ext/Jinja.tmbundle/Snippets/first.tmSnippet b/ext/Jinja.tmbundle/Snippets/first.tmSnippet deleted file mode 100644 index 81f4fb9..0000000 --- a/ext/Jinja.tmbundle/Snippets/first.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |first - name - first - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - FDFF242A-F3FB-4A4C-BE1A-F1311158B32B - - diff --git a/ext/Jinja.tmbundle/Snippets/float.tmSnippet b/ext/Jinja.tmbundle/Snippets/float.tmSnippet deleted file mode 100644 index d310ecb..0000000 --- a/ext/Jinja.tmbundle/Snippets/float.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |float - name - float - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 4BA654F6-F412-4AF9-9CEA-72BD1A709AF4 - - diff --git a/ext/Jinja.tmbundle/Snippets/format.tmSnippet b/ext/Jinja.tmbundle/Snippets/format.tmSnippet deleted file mode 100644 index 6be669d..0000000 --- a/ext/Jinja.tmbundle/Snippets/format.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |format(${1:args})$2 - name - format - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 93EEDABE-BC52-4883-AF3D-DE4A44C3C246 - - diff --git a/ext/Jinja.tmbundle/Snippets/indent.tmSnippet b/ext/Jinja.tmbundle/Snippets/indent.tmSnippet deleted file mode 100644 index 2aa765c..0000000 --- a/ext/Jinja.tmbundle/Snippets/indent.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |indent(${1:width})$2 - name - indent - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 307C3853-AA0B-441C-A3D4-DE5CAE2C1673 - - diff --git a/ext/Jinja.tmbundle/Snippets/int.tmSnippet b/ext/Jinja.tmbundle/Snippets/int.tmSnippet deleted file mode 100644 index 79455af..0000000 --- a/ext/Jinja.tmbundle/Snippets/int.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |int - name - int - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 0A6ECEB6-410E-4CF5-823E-139E8769BA16 - - diff --git a/ext/Jinja.tmbundle/Snippets/join.tmSnippet b/ext/Jinja.tmbundle/Snippets/join.tmSnippet deleted file mode 100644 index 85f54a1..0000000 --- a/ext/Jinja.tmbundle/Snippets/join.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |join(${1:''})$2 - name - join - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - FBD6F4B2-3206-4CA9-AE99-B2C78149A357 - - diff --git a/ext/Jinja.tmbundle/Snippets/jsonencode.tmSnippet b/ext/Jinja.tmbundle/Snippets/jsonencode.tmSnippet deleted file mode 100644 index 25c2c65..0000000 --- a/ext/Jinja.tmbundle/Snippets/jsonencode.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |jsonencode - name - jsonencode - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 93E22AC4-B2B8-426D-89C9-FB416F24F975 - - diff --git a/ext/Jinja.tmbundle/Snippets/last.tmSnippet b/ext/Jinja.tmbundle/Snippets/last.tmSnippet deleted file mode 100644 index 29bd222..0000000 --- a/ext/Jinja.tmbundle/Snippets/last.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |last - name - last - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 6B7CA02D-D6CF-4F16-9A1E-7610DAEBB43F - - diff --git a/ext/Jinja.tmbundle/Snippets/length.tmSnippet b/ext/Jinja.tmbundle/Snippets/length.tmSnippet deleted file mode 100644 index 104ddeb..0000000 --- a/ext/Jinja.tmbundle/Snippets/length.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |length - name - length - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 7F5037F1-CCC2-4179-98CA-66D001144AC2 - - diff --git a/ext/Jinja.tmbundle/Snippets/lower.tmSnippet b/ext/Jinja.tmbundle/Snippets/lower.tmSnippet deleted file mode 100644 index b720579..0000000 --- a/ext/Jinja.tmbundle/Snippets/lower.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |lower - name - lower - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 6F1D6BEF-3D53-4EC8-9C42-DF0D1D2E68C5 - - diff --git a/ext/Jinja.tmbundle/Snippets/markdown.tmSnippet b/ext/Jinja.tmbundle/Snippets/markdown.tmSnippet deleted file mode 100644 index adba556..0000000 --- a/ext/Jinja.tmbundle/Snippets/markdown.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |markdown - name - markdown - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 78EEA703-C74E-4D71-9DDA-5674E3AB50D7 - - diff --git a/ext/Jinja.tmbundle/Snippets/pprint.tmSnippet b/ext/Jinja.tmbundle/Snippets/pprint.tmSnippet deleted file mode 100644 index 6adfe95..0000000 --- a/ext/Jinja.tmbundle/Snippets/pprint.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |pprint - name - pprint - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 1B45C5DE-21D2-4E2A-B7C6-794C9D7ECB99 - - diff --git a/ext/Jinja.tmbundle/Snippets/random.tmSnippet b/ext/Jinja.tmbundle/Snippets/random.tmSnippet deleted file mode 100644 index 4a769c5..0000000 --- a/ext/Jinja.tmbundle/Snippets/random.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |random - name - random - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - B964A222-F305-44C9-B23C-0D2A55112C43 - - diff --git a/ext/Jinja.tmbundle/Snippets/raw.tmSnippet b/ext/Jinja.tmbundle/Snippets/raw.tmSnippet deleted file mode 100644 index 45e5e53..0000000 --- a/ext/Jinja.tmbundle/Snippets/raw.tmSnippet +++ /dev/null @@ -1,18 +0,0 @@ - - - - - content - {% raw %} - $1 -{% endraw %} - name - raw - scope - source.jinja, text.html.jinja - tabTrigger - raw - uuid - 73F00DE1-17B0-4C8C-B495-82A3689EB6F1 - - diff --git a/ext/Jinja.tmbundle/Snippets/replace.tmSnippet b/ext/Jinja.tmbundle/Snippets/replace.tmSnippet deleted file mode 100644 index b06b40f..0000000 --- a/ext/Jinja.tmbundle/Snippets/replace.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |replace - name - replace - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - C2DF4AC6-C586-4F6C-9A97-916558C248D7 - - diff --git a/ext/Jinja.tmbundle/Snippets/reverse.tmSnippet b/ext/Jinja.tmbundle/Snippets/reverse.tmSnippet deleted file mode 100644 index 51913c6..0000000 --- a/ext/Jinja.tmbundle/Snippets/reverse.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |reverse - name - reverse - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 7DE5D7CF-81BB-4AB3-A9B8-938D47918237 - - diff --git a/ext/Jinja.tmbundle/Snippets/round.tmSnippet b/ext/Jinja.tmbundle/Snippets/round.tmSnippet deleted file mode 100644 index d5ae782..0000000 --- a/ext/Jinja.tmbundle/Snippets/round.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |round(${1:places})$2 - name - round - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 95E641E1-CAA4-4984-B406-54FEC11D5F1B - - diff --git a/ext/Jinja.tmbundle/Snippets/rst.tmSnippet b/ext/Jinja.tmbundle/Snippets/rst.tmSnippet deleted file mode 100644 index ad07034..0000000 --- a/ext/Jinja.tmbundle/Snippets/rst.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |rst - name - rst - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - E0F620DA-1CDA-4913-AD04-CAC8C63089D8 - - diff --git a/ext/Jinja.tmbundle/Snippets/slice.tmSnippet b/ext/Jinja.tmbundle/Snippets/slice.tmSnippet deleted file mode 100644 index 4550ac0..0000000 --- a/ext/Jinja.tmbundle/Snippets/slice.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |slice(${1:columns}) - name - slice - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - E527CC83-06C6-4B54-8FDC-61FB4554B251 - - diff --git a/ext/Jinja.tmbundle/Snippets/sort.tmSnippet b/ext/Jinja.tmbundle/Snippets/sort.tmSnippet deleted file mode 100644 index f6e2dcd..0000000 --- a/ext/Jinja.tmbundle/Snippets/sort.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |sort - name - sort - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 27647146-46AC-4F2A-9069-178E359E55DF - - diff --git a/ext/Jinja.tmbundle/Snippets/string.tmSnippet b/ext/Jinja.tmbundle/Snippets/string.tmSnippet deleted file mode 100644 index 8593ffb..0000000 --- a/ext/Jinja.tmbundle/Snippets/string.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |string - name - string - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - D64E1E71-A89E-4349-8178-97BC06A5B35F - - diff --git a/ext/Jinja.tmbundle/Snippets/striptags.tmSnippet b/ext/Jinja.tmbundle/Snippets/striptags.tmSnippet deleted file mode 100644 index 665fa3c..0000000 --- a/ext/Jinja.tmbundle/Snippets/striptags.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |striptags - name - striptags - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 866F74E0-D58C-4BCB-A256-3D94CFB612D9 - - diff --git a/ext/Jinja.tmbundle/Snippets/sum.tmSnippet b/ext/Jinja.tmbundle/Snippets/sum.tmSnippet deleted file mode 100644 index c937a63..0000000 --- a/ext/Jinja.tmbundle/Snippets/sum.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |sum - name - sum - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - AE1A2C7A-2D10-466F-9EB0-E8B540E7BA6E - - diff --git a/ext/Jinja.tmbundle/Snippets/textile.tmSnippet b/ext/Jinja.tmbundle/Snippets/textile.tmSnippet deleted file mode 100644 index 64be825..0000000 --- a/ext/Jinja.tmbundle/Snippets/textile.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |textile - name - textile - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 2EB9BB55-E38C-4FA9-81B7-73B1A73F65C7 - - diff --git a/ext/Jinja.tmbundle/Snippets/title.tmSnippet b/ext/Jinja.tmbundle/Snippets/title.tmSnippet deleted file mode 100644 index 319f08f..0000000 --- a/ext/Jinja.tmbundle/Snippets/title.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |title - name - title - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - B99D5C37-BE6D-4397-9F32-90BD1A02E016 - - diff --git a/ext/Jinja.tmbundle/Snippets/trim.tmSnippet b/ext/Jinja.tmbundle/Snippets/trim.tmSnippet deleted file mode 100644 index fed7c1c..0000000 --- a/ext/Jinja.tmbundle/Snippets/trim.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |trim - name - trim - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - A199B66F-5B1A-4210-9B22-1FC6738EAD76 - - diff --git a/ext/Jinja.tmbundle/Snippets/truncate.tmSnippet b/ext/Jinja.tmbundle/Snippets/truncate.tmSnippet deleted file mode 100644 index 29dfe28..0000000 --- a/ext/Jinja.tmbundle/Snippets/truncate.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |truncate - name - truncate - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 3F749711-C818-41C2-8FB0-844CD2839617 - - diff --git a/ext/Jinja.tmbundle/Snippets/upper.tmSnippet b/ext/Jinja.tmbundle/Snippets/upper.tmSnippet deleted file mode 100644 index dd0dfab..0000000 --- a/ext/Jinja.tmbundle/Snippets/upper.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |upper - name - upper - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 823ABA67-7CA7-4F4F-ACC1-7D84AAC56469 - - diff --git a/ext/Jinja.tmbundle/Snippets/urlencode.tmSnippet b/ext/Jinja.tmbundle/Snippets/urlencode.tmSnippet deleted file mode 100644 index b09b40c..0000000 --- a/ext/Jinja.tmbundle/Snippets/urlencode.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |urlencode - name - urlencode - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 1C0A622E-7F37-437F-95A3-5342DEA80B4E - - diff --git a/ext/Jinja.tmbundle/Snippets/urlize.tmSnippet b/ext/Jinja.tmbundle/Snippets/urlize.tmSnippet deleted file mode 100644 index f1524b0..0000000 --- a/ext/Jinja.tmbundle/Snippets/urlize.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |urlize(${1:40}, ${2:true})$3 - name - urlize - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - DEDD7EB3-FFD2-4BFD-8D59-5DA8ED0F567F - - diff --git a/ext/Jinja.tmbundle/Snippets/wordcount.tmSnippet b/ext/Jinja.tmbundle/Snippets/wordcount.tmSnippet deleted file mode 100644 index fe86aec..0000000 --- a/ext/Jinja.tmbundle/Snippets/wordcount.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |wordcount - name - wordcount - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 40423A4E-9ED4-402C-A5BB-193797A73101 - - diff --git a/ext/Jinja.tmbundle/Snippets/wordwrap.tmSnippet b/ext/Jinja.tmbundle/Snippets/wordwrap.tmSnippet deleted file mode 100644 index 0065f25..0000000 --- a/ext/Jinja.tmbundle/Snippets/wordwrap.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |wordwrap - name - wordwrap - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - 6000AFC3-4398-4500-B055-296D17DDAB48 - - diff --git a/ext/Jinja.tmbundle/Snippets/xmlattr.tmSnippet b/ext/Jinja.tmbundle/Snippets/xmlattr.tmSnippet deleted file mode 100644 index 5e8fbeb..0000000 --- a/ext/Jinja.tmbundle/Snippets/xmlattr.tmSnippet +++ /dev/null @@ -1,16 +0,0 @@ - - - - - content - |xmlattr - name - xmlattr - scope - source.jinja, text.html.jinja - tabTrigger - | - uuid - CA8BCFEA-2BDB-4CB8-8E31-6388ECEF05BB - - diff --git a/ext/Vim/htmljinja.vim b/ext/Vim/htmljinja.vim new file mode 100644 index 0000000..3f9cba4 --- /dev/null +++ b/ext/Vim/htmljinja.vim @@ -0,0 +1,27 @@ +" Vim syntax file +" Language: Jinja HTML template +" Maintainer: Armin Ronacher +" Last Change: 2007 Apr 8 + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +if !exists("main_syntax") + let main_syntax = 'html' +endif + +if version < 600 + so :p:h/jinja.vim + so :p:h/html.vim +else + runtime! syntax/jinja.vim + runtime! syntax/html.vim + unlet b:current_syntax +endif + +let b:current_syntax = "htmljinja" diff --git a/ext/Vim/jinja.vim b/ext/Vim/jinja.vim new file mode 100644 index 0000000..b961653 --- /dev/null +++ b/ext/Vim/jinja.vim @@ -0,0 +1,112 @@ +" Vim syntax file +" Language: Jinja template +" Maintainer: Armin Ronacher +" Last Change: 2008 May 9 +" +" Known Bugs: +" because of odd limitations dicts and the modulo operator +" appear wrong in the template. +" +" Changes: +" +" 2008 May 9: Added support for Jinja2 changes (new keyword rules) + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +syntax case match + +" Jinja template built-in tags and parameters (without filter, macro, is and raw, they +" have special threatment) +syn keyword jinjaStatement containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained and if else in not or recursive as import + +syn keyword jinjaStatement containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained is filter skipwhite nextgroup=jinjaFilter +syn keyword jinjaStatement containedin=jinjaTagBlock contained macro skipwhite nextgroup=jinjaFunction +syn keyword jinjaStatement containedin=jinjaTagBlock contained block skipwhite nextgroup=jinjaBlockName + +" Variable Names +syn match jinjaVariable containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained skipwhite /[a-zA-Z_][a-zA-Z0-9_]*/ +syn keyword jinjaSpecial containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained false true none loop super caller varargs kwargs + +" Filters +syn match jinjaOperator "|" containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained nextgroup=jinjaFilter +syn match jinjaFilter contained skipwhite /[a-zA-Z_][a-zA-Z0-9_]*/ +syn match jinjaFunction contained skipwhite /[a-zA-Z_][a-zA-Z0-9_]*/ +syn match jinjaBlockName contained skipwhite /[a-zA-Z_][a-zA-Z0-9_]*/ + +" Jinja template constants +syn region jinjaString containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained start=/"/ skip=/\\"/ end=/"/ +syn region jinjaString containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained start=/'/ skip=/\\'/ end=/'/ +syn match jinjaNumber containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained /[0-9]\+\(\.[0-9]\+\)\?/ + +" Operators +syn match jinjaOperator containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained /[+\-*\/<>=!,:]/ +syn match jinjaPunctuation containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained /[()\[\]]/ +syn match jinjaOperator containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained /\./ nextgroup=jinjaAttribute +syn match jinjaAttribute contained /[a-zA-Z_][a-zA-Z0-9_]*/ + +" Jinja template tag and variable blocks +syn region jinjaNested matchgroup=jinjaOperator start="(" end=")" transparent display containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained +syn region jinjaNested matchgroup=jinjaOperator start="\[" end="\]" transparent display containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained +syn region jinjaNested matchgroup=jinjaOperator start="{" end="}" transparent display containedin=jinjaVarBlock,jinjaTagBlock,jinjaNested contained +syn region jinjaTagBlock matchgroup=jinjaTagDelim start=/{%-\?/ end=/-\?%}/ skipwhite containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaRaw,jinjaString,jinjaNested,jinjaComment + +syn region jinjaVarBlock matchgroup=jinjaVarDelim start=/{{-\?/ end=/-\?}}/ containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaRaw,jinjaString,jinjaNested,jinjaComment + +" Jinja template 'raw' tag +syn region jinjaRaw matchgroup=jinjaRawDelim start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaString,jinjaComment + +" Jinja comments +syn region jinjaComment matchgroup=jinjaCommentDelim start="{#" end="#}" containedin=ALLBUT,jinjaTagBlock,jinjaVarBlock,jinjaString + +" Block start keywords. A bit tricker. We only highlight at the start of a +" tag block and only if the name is not followed by a comma or equals sign +" which usually means that we have to deal with an assignment. +syn match jinjaStatement containedin=jinjaTagBlock contained skipwhite /\({%-\?\s*\)\@<=\<[a-zA-Z_][a-zA-Z0-9_]*\>\(\s*[,=]\)\@!/ + +" and context modifiers +syn match jinjaStatement containedin=jinjaTagBlock contained /\/ skipwhite + + +" 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_jinja_syn_inits") + if version < 508 + let did_jinja_syn_inits = 1 + command -nargs=+ HiLink hi link + else + command -nargs=+ HiLink hi def link + endif + + HiLink jinjaPunctuation jinjaOperator + HiLink jinjaAttribute jinjaVariable + HiLink jinjaFunction jinjaFilter + + HiLink jinjaTagDelim jinjaTagBlock + HiLink jinjaVarDelim jinjaVarBlock + HiLink jinjaCommentDelim jinjaComment + HiLink jinjaRawDelim jinja + + HiLink jinjaSpecial Special + HiLink jinjaOperator Normal + HiLink jinjaRaw Normal + HiLink jinjaTagBlock PreProc + HiLink jinjaVarBlock PreProc + HiLink jinjaStatement Statement + HiLink jinjaFilter Function + HiLink jinjaBlockName Function + HiLink jinjaVariable Identifier + HiLink jinjaString Constant + HiLink jinjaNumber Constant + HiLink jinjaComment Comment + + delcommand HiLink +endif + +let b:current_syntax = "jinja"