aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-editorconfig.min.js
blob: fe6660b82bdd40f4cb5d0381e18399524c555248 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Prism.languages.editorconfig = {
  comment: /[;#].*/,
  section: {
    pattern: /(^[ \t]*)\[.+\]/m,
    lookbehind: !0,
    alias: 'keyword',
    inside: {
      regex: /\\\\[\[\]{},!?.*]/,
      operator: /[!?]|\.\.|\*{1,2}/,
      punctuation: /[\[\]{},]/,
    },
  },
  key: {
    pattern: /(^[ \t]*)[^\s=]+(?=[ \t]*=)/m,
    lookbehind: !0,
    alias: 'attr-name',
  },
  value: { pattern: /=.*/, alias: 'attr-value', inside: { punctuation: /^=/ } },
};
c1">// @word, {@word} pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m, lookbehind: true, }, punctuation: /[{}]/, }); /** * Adds doc comment support to the given language and calls a given callback on each doc comment pattern. * * @param {string} lang the language add doc comment support to. * @param {(pattern: {inside: {rest: undefined}}) => void} callback the function called with each doc comment pattern as argument. */ function docCommentSupport(lang, callback) { var tokenName = 'doc-comment'; var grammar = Prism.languages[lang]; if (!grammar) { return; } var token = grammar[tokenName]; if (!token) { // add doc comment: /** */ var definition = {}; definition[tokenName] = { pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/, lookbehind: true, alias: 'comment', }; grammar = Prism.languages.insertBefore(lang, 'comment', definition); token = grammar[tokenName]; } if (token instanceof RegExp) { // convert regex to object token = grammar[tokenName] = { pattern: token }; } if (Array.isArray(token)) { for (var i = 0, l = token.length; i < l; i++) { if (token[i] instanceof RegExp) { token[i] = { pattern: token[i] }; } callback(token[i]); } } else { callback(token); } } /** * Adds doc-comment support to the given languages for the given documentation language. * * @param {string[]|string} languages * @param {Object} docLanguage */ function addSupport(languages, docLanguage) { if (typeof languages === 'string') { languages = [languages]; } languages.forEach(function (lang) { docCommentSupport(lang, function (pattern) { if (!pattern.inside) { pattern.inside = {}; } pattern.inside.rest = docLanguage; }); }); } Object.defineProperty(javaDocLike, 'addSupport', { value: addSupport }); javaDocLike.addSupport(['java', 'javascript', 'php'], javaDocLike); })(Prism);