(function (Prism) {
Prism.languages.latte = {
comment: /^\{\*[\s\S]*/,
'latte-tag': {
// https://latte.nette.org/en/tags
pattern: /(^\{(?:\/(?=[a-z]))?)(?:[=_]|[a-z]\w*\b(?!\())/i,
lookbehind: true,
alias: 'important',
},
delimiter: {
pattern: /^\{\/?|\}$/,
alias: 'punctuation',
},
php: {
pattern: /\S(?:[\s\S]*\S)?/,
alias: 'language-php',
inside: Prism.languages.php,
},
};
var markupLatte = Prism.languages.extend('markup', {});
Prism.languages.insertBefore(
'inside',
'attr-value',
{
'n-attr': {
pattern: /n:[\w-]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+))?/,
inside: {
'attr-name': {
pattern: /^[^\s=]+/,
alias: 'important',
},
'attr-value': {
pattern: /=[\s\S]+/,
inside: {
punctuation: [
/^=/,
{
pattern: /^(\s*)["']|["']$/,
lookbehind: true,
},
],
php: {
pattern: /\S(?:[\s\S]*\S)?/,
inside: Prism.languages.php,
},
},
},
},
},
},
markupLatte.tag
);
Prism.hooks.add('before-tokenize', function (env) {
if (env.language !== 'latte') {
return;
}
var lattePattern =
/\{\*[\s\S]*?\*\}|\{[^'"\s{}*](?:[^"'/{}]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|\/\*(?:[^*]|\*(?!\/))*\*\/)*\}/g;
Prism.languages['markup-templating'].buildPlaceholders(
env,
'latte',
lattePattern
);
env.grammar = markupLatte;
});
Prism.hooks.add('after-tokenize', function (env) {
Prism.languages['markup-templating'].tokenizePlaceholders(env, 'latte');
});
})(Prism);
ef9dfbe4288e148d589d033'>commitdiffstats
|
blob: 1e7f3aca0e82a3589ebd6aa1457f4521a8c9b50b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
Prism.languages['splunk-spl'] = {
comment: /`comment\("(?:\\.|[^\\"])*"\)`/,
string: { pattern: /"(?:\\.|[^\\"])*"/, greedy: !0 },
keyword:
/\b(?:abstract|accum|addcoltotals|addinfo|addtotals|analyzefields|anomalies|anomalousvalue|anomalydetection|append|appendcols|appendcsv|appendlookup|appendpipe|arules|associate|audit|autoregress|bin|bucket|bucketdir|chart|cluster|cofilter|collect|concurrency|contingency|convert|correlate|datamodel|dbinspect|dedup|delete|delta|diff|erex|eval|eventcount|eventstats|extract|fieldformat|fields|fieldsummary|filldown|fillnull|findtypes|folderize|foreach|format|from|gauge|gentimes|geom|geomfilter|geostats|head|highlight|history|iconify|input|inputcsv|inputlookup|iplocation|join|kmeans|kv|kvform|loadjob|localize|localop|lookup|makecontinuous|makemv|makeresults|map|mcollect|metadata|metasearch|meventcollect|mstats|multikv|multisearch|mvcombine|mvexpand|nomv|outlier|outputcsv|outputlookup|outputtext|overlap|pivot|predict|rangemap|rare|regex|relevancy|reltime|rename|replace|rest|return|reverse|rex|rtorder|run|savedsearch|script|scrub|search|searchtxn|selfjoin|sendemail|set|setfields|sichart|sirare|sistats|sitimechart|sitop|sort|spath|stats|strcat|streamstats|table|tags|tail|timechart|timewrap|top|transaction|transpose|trendline|tscollect|tstats|typeahead|typelearner|typer|union|uniq|untable|where|x11|xmlkv|xmlunescape|xpath|xyseries)\b/i,
'operator-word': {
pattern: /\b(?:and|as|by|not|or|xor)\b/i,
alias: 'operator',
},
function: /\b\w+(?=\s*\()/,
property: /\b\w+(?=\s*=(?!=))/,
date: {
pattern: /\b\d{1,2}\/\d{1,2}\/\d{1,4}(?:(?::\d{1,2}){3})?\b/,
alias: 'number',
},
number: /\b\d+(?:\.\d+)?\b/,
boolean: /\b(?:f|false|t|true)\b/i,
operator: /[<>=]=?|[-+*/%|]/,
punctuation: /[()[\],]/,
};
|