diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:10:37 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-24 15:11:17 +0200 |
commit | 7a3df06eb573d36142bd1a8e03c5ce8752d300b3 (patch) | |
tree | 70bfaea8884c374876f607774850a3a51c0cb381 /node_modules/highlight.js/lib/languages/twig.js | |
parent | aca1143cb9eed16cf37f04e475e4257418dd18ac (diff) |
fix build issues and add typedoc
Diffstat (limited to 'node_modules/highlight.js/lib/languages/twig.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/twig.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/twig.js b/node_modules/highlight.js/lib/languages/twig.js new file mode 100644 index 000000000..2c4168b17 --- /dev/null +++ b/node_modules/highlight.js/lib/languages/twig.js @@ -0,0 +1,65 @@ +module.exports = function(hljs) { + var PARAMS = { + className: 'params', + begin: '\\(', end: '\\)' + }; + + var FUNCTION_NAMES = 'attribute block constant cycle date dump include ' + + 'max min parent random range source template_from_string'; + + var FUNCTIONS = { + beginKeywords: FUNCTION_NAMES, + keywords: {name: FUNCTION_NAMES}, + relevance: 0, + contains: [ + PARAMS + ] + }; + + var FILTER = { + begin: /\|[A-Za-z_]+:?/, + keywords: + 'abs batch capitalize convert_encoding date date_modify default ' + + 'escape first format join json_encode keys last length lower ' + + 'merge nl2br number_format raw replace reverse round slice sort split ' + + 'striptags title trim upper url_encode', + contains: [ + FUNCTIONS + ] + }; + + var TAGS = 'autoescape block do embed extends filter flush for ' + + 'if import include macro sandbox set spaceless use verbatim'; + + TAGS = TAGS + ' ' + TAGS.split(' ').map(function(t){return 'end' + t}).join(' '); + + return { + aliases: ['craftcms'], + case_insensitive: true, + subLanguage: 'xml', + contains: [ + hljs.COMMENT(/\{#/, /#}/), + { + className: 'template-tag', + begin: /\{%/, end: /%}/, + contains: [ + { + className: 'name', + begin: /\w+/, + keywords: TAGS, + starts: { + endsWithParent: true, + contains: [FILTER, FUNCTIONS], + relevance: 0 + } + } + ] + }, + { + className: 'template-variable', + begin: /\{\{/, end: /}}/, + contains: ['self', FILTER, FUNCTIONS] + } + ] + }; +};
\ No newline at end of file |