refractor
Version:
Lightweight, robust, elegant virtual syntax highlighting using Prism
38 lines (36 loc) • 977 B
JavaScript
// @ts-nocheck
/**
* @import {Refractor} from '../lib/core.js'
*/
import refractorLua from './lua.js'
import refractorMarkupTemplating from './markup-templating.js'
etlua.displayName = 'etlua'
etlua.aliases = []
/** @param {Refractor} Prism */
export default function etlua(Prism) {
Prism.register(refractorLua)
Prism.register(refractorMarkupTemplating)
;(function (Prism) {
Prism.languages.etlua = {
delimiter: {
pattern: /^<%[-=]?|-?%>$/,
alias: 'punctuation'
},
'language-lua': {
pattern: /[\s\S]+/,
inside: Prism.languages.lua
}
}
Prism.hooks.add('before-tokenize', function (env) {
var pattern = /<%[\s\S]+?%>/g
Prism.languages['markup-templating'].buildPlaceholders(
env,
'etlua',
pattern
)
})
Prism.hooks.add('after-tokenize', function (env) {
Prism.languages['markup-templating'].tokenizePlaceholders(env, 'etlua')
})
})(Prism)
}