mirror of
https://github.com/JKorf/CryptoExchange.Net.git
synced 2026-08-22 05:42:53 +00:00
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
Language: HTMLBars
|
||||
Requires: xml.js, handlebars.js
|
||||
Author: Michael Johnston <lastobelus@gmail.com>
|
||||
Description: Matcher for HTMLBars
|
||||
Website: https://github.com/tildeio/htmlbars
|
||||
Category: template
|
||||
*/
|
||||
|
||||
export default function(hljs) {
|
||||
// This work isn't complete yet but this is done so that this technically
|
||||
// breaking change becomes a part of the 10.0 release and won't force
|
||||
// us to prematurely release 11.0 just to break this.
|
||||
var SHOULD_INHERIT_FROM_HANDLEBARS = hljs.requireLanguage('handlebars');
|
||||
// https://github.com/highlightjs/highlight.js/issues/2181
|
||||
|
||||
var BUILT_INS = 'action collection component concat debugger each each-in else get hash if input link-to loc log mut outlet partial query-params render textarea unbound unless with yield view';
|
||||
|
||||
var ATTR_ASSIGNMENT = {
|
||||
illegal: /\}\}/,
|
||||
begin: /[a-zA-Z0-9_]+=/,
|
||||
returnBegin: true,
|
||||
relevance: 0,
|
||||
contains: [
|
||||
{
|
||||
className: 'attr', begin: /[a-zA-Z0-9_]+/
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var SUB_EXPR = {
|
||||
illegal: /\}\}/,
|
||||
begin: /\)/, end: /\)/,
|
||||
contains: [
|
||||
{
|
||||
begin: /[a-zA-Z\.\-]+/,
|
||||
keywords: {built_in: BUILT_INS},
|
||||
starts: {
|
||||
endsWithParent: true, relevance: 0,
|
||||
contains: [
|
||||
hljs.QUOTE_STRING_MODE,
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
var TAG_INNARDS = {
|
||||
endsWithParent: true, relevance: 0,
|
||||
keywords: {keyword: 'as', built_in: BUILT_INS},
|
||||
contains: [
|
||||
hljs.QUOTE_STRING_MODE,
|
||||
ATTR_ASSIGNMENT,
|
||||
hljs.NUMBER_MODE
|
||||
]
|
||||
};
|
||||
|
||||
return {
|
||||
name: 'HTMLBars',
|
||||
case_insensitive: true,
|
||||
subLanguage: 'xml',
|
||||
contains: [
|
||||
hljs.COMMENT('{{!(--)?', '(--)?}}'),
|
||||
{
|
||||
className: 'template-tag',
|
||||
begin: /\{\{[#\/]/, end: /\}\}/,
|
||||
contains: [
|
||||
{
|
||||
className: 'name',
|
||||
begin: /[a-zA-Z\.\-]+/,
|
||||
keywords: {'builtin-name': BUILT_INS},
|
||||
starts: TAG_INNARDS
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
className: 'template-variable',
|
||||
begin: /\{\{[a-zA-Z][a-zA-Z\-]+/, end: /\}\}/,
|
||||
keywords: {keyword: 'as', built_in: BUILT_INS},
|
||||
contains: [
|
||||
hljs.QUOTE_STRING_MODE
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user