12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- (function (Prism) {
- function createBlock(prefix, inside, contentAlias) {
- return {
- pattern: RegExp('<#' + prefix + '[\\s\\S]*?#>'),
- alias: 'block',
- inside: {
- 'delimiter': {
- pattern: RegExp('^<#' + prefix + '|#>$'),
- alias: 'important'
- },
- 'content': {
- pattern: /[\s\S]+/,
- inside: inside,
- alias: contentAlias
- }
- }
- };
- }
- function createT4(insideLang) {
- var grammar = Prism.languages[insideLang];
- var className = 'language-' + insideLang;
- return {
- 'block': {
- pattern: /<#[\s\S]+?#>/,
- inside: {
- 'directive': createBlock('@', {
- 'attr-value': {
- pattern: /=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+)/,
- inside: {
- 'punctuation': /^=|^["']|["']$/
- }
- },
- 'keyword': /\b\w+(?=\s)/,
- 'attr-name': /\b\w+/
- }),
- 'expression': createBlock('=', grammar, className),
- 'class-feature': createBlock('\\+', grammar, className),
- 'standard': createBlock('', grammar, className)
- }
- }
- };
- }
- Prism.languages['t4-templating'] = Object.defineProperty({}, 'createT4', { value: createT4 });
- }(Prism));
|