codemirror-lang-emailjs-tpl
Version:
EmailJS Template language support for CodeMirror
55 lines (50 loc) • 3.47 kB
JavaScript
'use strict';
var lr = require('@lezer/lr');
var language = require('@codemirror/language');
var highlight = require('@lezer/highlight');
// This file was generated by lezer-generator. You probably shouldn't edit it.
const parser = lr.LRParser.deserialize({
version: 14,
states: "%jQYQPOOPhOPOOOmQQO'#C_O{QSO'#C_O!WQWO'#CiO!cQPO'#CgOOQO'#Cx'#CxOOQO'#Co'#CoQYQPOOP!tO`O'#C]POOO)C>h)C>hOOQO'#Cy'#CyOOQO'#Cp'#CpO#PQQO,58yOOQO,58y,58yO#VQQO,58yO#[QSO,58yO#gQWO,59TOOQO,59T,59TO#rQWO'#ClOOQO,59R,59RO!cQPO,59ROOQO-E6m-E6mPOOO'#Cn'#CnP#}O`O,58wPOOO,58w,58wOOQO-E6n-E6nOOQO1G.e1G.eOOQO1G.o1G.oO$YQWO,59WOOQO,59W,59WOOQO1G.m1G.mPOOO-E6l-E6lPOOO1G.c1G.cOOQO1G.r1G.r",
stateData: "$l~OgOShPQ~OSQOXRO^SOaVO~OhXO~OTZOUZOV_OW^O~OTZOUZOY^O~OTZOUZO[bO~OSQOXRO^SO_cOaVO~OigOjgOkiO~OTZOUZOWkO~OTZOUZOYkO~OTZOUZO[lO~OTZOUZO[nO~OigOjgOkqO~OTZOUZO[rO~OgaVUTV~",
goto: "#YnPoPrPPPPPPPrPxPP!OP!U![!fPPPPPPP!x#ORYPXUOTWeXTOTWeQdTRoeQhXRphQWOQeTTfWeQ]QQ`RQaSWj]`amRmcXVOTWea[QRS]`acm",
nodeNames: "⚠ Comment Template Variable OpenTag Identifier ChainedIdentifier ListTag CloseTag OpenUnsafeTag CloseUnsafeTag Section EndSectionTag OpenSection StartSectionTag CloseSectionTag CloseSection PlainText",
maxTerm: 29,
nodeProps: [
["group", -2,3,11,"Entity",-2,5,6,"Expression"],
["closedBy", 4,"CloseTag",9,"CloseUnsafeTag",13,"CloseSection",-2,14,15,"EndSectionTag"],
["openedBy", 8,"OpenTag",10,"OpenUnsafeTag",12,"StartSectionTag CloseSectionTag",16,"OpenSection"]
],
skippedNodes: [0,1,18],
repeatNodeCount: 3,
tokenData: ",R~RhOX!mXY$PYZ$PZ]!m]^$P^p!mpq$Pq}!m}!O$|!O!P(Z!P!Q!m!Q![$|![!c!m!c!}$|!}#R!m#R#S$|#S#T!m#T#o$|#o#p(q#p#q!m#q#r*a#r;'S!m;'S;=`#t<%lO!mQ!rTaQO#o!m#o#p#R#p;'S!m;'S;=`#t<%lO!mQ#UYOq!mrs!mtv!mw#Q!m#R#o!m#p;'S!m;'S;=`#t<%l~!m~O!m~~#zQ#wP;=`<%l!mQ$POaQ~$W[g~aQOX!mXY$PYZ$PZ]!m]^$P^p!mpq$Pq#o!m#o#p#R#p;'S!m;'S;=`#t<%lO!m~%T_aQT~O}!m}!O$|!O!P&S!P!Q!m!Q![$|![!c!m!c!}$|!}#R!m#R#S$|#S#T!m#T#o$|#o#p#R#p;'S!m;'S;=`#t<%lO!m~&X^aQO}!m}!O'T!O!Q!m!Q!['T![!c!m!c!}'T!}#R!m#R#S'T#S#T!m#T#o'T#o#p#R#p;'S!m;'S;=`#t<%lO!m~'[_aQU~O}!m}!O'T!O!P&S!P!Q!m!Q!['T![!c!m!c!}'T!}#R!m#R#S'T#S#T!m#T#o'T#o#p#R#p;'S!m;'S;=`#t<%lO!m~(bTaQV~O#o!m#o#p#R#p;'S!m;'S;=`#t<%lO!m~(tZOq!mrs!mtv!mw#Q!m#R#o!m#o#p)g#p;'S!m;'S;=`#t<%l~!m~O!m~~#z~)lTS~qr){st*Q!P!Q*V#Q#R*Q#o#p*[~*QOh~~*VO^~~*[O_~~*aOX~n*fVaQO#o!m#o#p#R#p#q!m#q#r*{#r;'S!m;'S;=`#t<%lO!mn+UVWS[`aQO#o!m#o#p#R#p#q!m#q#r+k#r;'S!m;'S;=`#t<%lO!mY+rTYWaQO#o!m#o#p#R#p;'S!m;'S;=`#t<%lO!m",
tokenizers: [1, 2, 3, 4, new lr.LocalTokenGroup("j~RQYZX#q#r^~^Oj~~aP#q#rd~iOk~~", 25, 25)],
topRules: {"Template":[0,2]},
dialects: {noMatch: 0},
tokenPrec: 159
});
const emailjsTemplateLanguage = language.LRLanguage.define({
parser: parser.configure({
props: [
highlight.styleTags({
'Identifier ChainedIdentifier': highlight.tags.atom,
Comment: highlight.tags.blockComment,
'ListTag StartSectionTag CloseSectionTag EndSectionTag': highlight.tags.keyword,
'OpenTag CloseTag OpenUnsafeTag CloseUnsafeTag': highlight.tags.keyword,
}),
],
}),
languageData: {
commentTokens: {
block: {
open: '{{!',
close: '}}',
},
},
},
});
function emailjsTemplate() {
return new language.LanguageSupport(emailjsTemplateLanguage);
}
exports.emailjsTemplate = emailjsTemplate;
exports.emailjsTemplateLanguage = emailjsTemplateLanguage;