(function (Prism) { Prism.languages.ejs = { 'delimiter': { pattern: /^<%[-_=]?|[-_]?%>$/, alias: 'punctuation' }, 'comment': /^#[\s\S]*/, 'language-javascript': { pattern: /[\s\S]+/, inside: Prism.languages.javascript } }; Prism.hooks.add('before-tokenize', function (env) { var ejsPattern = /<%(?!%)[\s\S]+?%>/g; Prism.languages['markup-templating'].buildPlaceholders(env, 'ejs', ejsPattern); }); Prism.hooks.add('after-tokenize', function (env) { Prism.languages['markup-templating'].tokenizePlaceholders(env, 'ejs'); }); Prism.languages.eta = Prism.languages.ejs; }(Prism));