aboutsummaryrefslogtreecommitdiffstats
path: root/public/prism/prism-makefile.min.js
blob: ed18643becb4582b696558376b311afa3fadff5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Prism.languages.makefile = {
  comment: {
    pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,
    lookbehind: !0,
  },
  string: {
    pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
    greedy: !0,
  },
  'builtin-target': {
    pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
    alias: 'builtin',
  },
  target: {
    pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,
    alias: 'symbol',
    inside: { variable: /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/ },
  },
  variable: /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,
  keyword:
    /-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,
  function: {
    pattern:
      /(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,
    lookbehind: !0,
  },
  operator: /(?:::|[?:+!])?=|[|@]/,
  punctuation: /[:;(){}]/,
};
color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
!(function (n) {
  function e(n, e) {
    return RegExp(
      n
        .replace(/<MOD>/g, function () {
          return '(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})';
        })
        .replace(/<PAR>/g, function () {
          return '(?:\\)|\\((?![^|()\n]+\\)))';
        }),
      e || ''
    );
  }
  var i = {
      css: { pattern: /\{[^{}]+\}/, inside: { rest: n.languages.css } },
      'class-id': {
        pattern: /(\()[^()]+(?=\))/,
        lookbehind: !0,
        alias: 'attr-value',
      },
      lang: {
        pattern: /(\[)[^\[\]]+(?=\])/,
        lookbehind: !0,
        alias: 'attr-value',
      },
      punctuation: /[\\\/]\d+|\S/,
    },
    t = (n.languages.textile = n.languages.extend('markup', {
      phrase: {
        pattern: /(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,
        lookbehind: !0,
        inside: {
          'block-tag': {
            pattern: e('^[a-z]\\w*(?:<MOD>|<PAR>|[<>=])*\\.'),
            inside: {
              modifier: {
                pattern: e('(^[a-z]\\w*)(?:<MOD>|<PAR>|[<>=])+(?=\\.)'),
                lookbehind: !0,
                inside: i,
              },
              tag: /^[a-z]\w*/,
              punctuation: /\.$/,
            },
          },
          list: {
            pattern: e('^[*#]+<MOD>*\\s+\\S.*', 'm'),
            inside: {
              modifier: {
                pattern: e('(^[*#]+)<MOD>+'),
                lookbehind: !0,
                inside: i,
              },
              punctuation: /^[*#]+/,
            },
          },
          table: {
            pattern: e(
              '^(?:(?:<MOD>|<PAR>|[<>=^~])+\\.\\s*)?(?:\\|(?:(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|',
              'm'
            ),
            inside: {
              modifier: {
                pattern: e(
                  '(^|\\|(?:\r?\n|\r)?)(?:<MOD>|<PAR>|[<>=^~_]|[\\\\/]\\d+)+(?=\\.)'
                ),
                lookbehind: !0,
                inside: i,
              },
              punctuation: /\||^\./,
            },
          },
          inline: {
            pattern: e(
              '(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>*.+?\\2(?![a-zA-Z\\d])'
            ),
            lookbehind: !0,
            inside: {
              bold: {
                pattern: e('(^(\\*\\*?)<MOD>*).+?(?=\\2)'),
                lookbehind: !0,
              },
              italic: {
                pattern: e('(^(__?)<MOD>*).+?(?=\\2)'),
                lookbehind: !0,
              },
              cite: {
                pattern: e('(^\\?\\?<MOD>*).+?(?=\\?\\?)'),
                lookbehind: !0,
                alias: 'string',
              },
              code: {
                pattern: e('(^@<MOD>*).+?(?=@)'),
                lookbehind: !0,
                alias: 'keyword',
              },
              inserted: {
                pattern: e('(^\\+<MOD>*).+?(?=\\+)'),
                lookbehind: !0,
              },
              deleted: { pattern: e('(^-<MOD>*).+?(?=-)'), lookbehind: !0 },
              span: { pattern: e('(^%<MOD>*).+?(?=%)'), lookbehind: !0 },
              modifier: {
                pattern: e('(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])<MOD>+'),
                lookbehind: !0,
                inside: i,
              },
              punctuation: /[*_%?@+\-^~]+/,
            },
          },
          'link-ref': {
            pattern: /^\[[^\]]+\]\S+$/m,
            inside: {
              string: { pattern: /(^\[)[^\]]+(?=\])/, lookbehind: !0 },
              url: { pattern: /(^\])\S+$/, lookbehind: !0 },
              punctuation: /[\[\]]/,
            },
          },
          link: {
            pattern: e('"<MOD>*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),
            inside: {
              text: { pattern: e('(^"<MOD>*)[^"]+(?=")'), lookbehind: !0 },
              modifier: { pattern: e('(^")<MOD>+'), lookbehind: !0, inside: i },
              url: { pattern: /(:).+/, lookbehind: !0 },
              punctuation: /[":]/,
            },
          },
          image: {
            pattern: e(
              '!(?:<MOD>|<PAR>|[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?'
            ),
            inside: {
              source: {
                pattern: e(
                  '(^!(?:<MOD>|<PAR>|[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)'
                ),
                lookbehind: !0,
                alias: 'url',
              },
              modifier: {
                pattern: e('(^!)(?:<MOD>|<PAR>|[<>=])+'),
                lookbehind: !0,
                inside: i,
              },
              url: { pattern: /(:).+/, lookbehind: !0 },
              punctuation: /[!:]/,
            },
          },
          footnote: {
            pattern: /\b\[\d+\]/,
            alias: 'comment',
            inside: { punctuation: /\[|\]/ },
          },
          acronym: {
            pattern: /\b[A-Z\d]+\([^)]+\)/,
            inside: {
              comment: { pattern: /(\()[^()]+(?=\))/, lookbehind: !0 },
              punctuation: /[()]/,
            },
          },
          mark: {
            pattern: /\b\((?:C|R|TM)\)/,
            alias: 'comment',
            inside: { punctuation: /[()]/ },
          },
        },
      },
    })),
    a = t.phrase.inside,
    o = {
      inline: a.inline,
      link: a.link,
      image: a.image,
      footnote: a.footnote,
      acronym: a.acronym,
      mark: a.mark,
    };
  t.tag.pattern =
    /<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;
  var r = a.inline.inside;
  (r.bold.inside = o),
    (r.italic.inside = o),
    (r.inserted.inside = o),
    (r.deleted.inside = o),
    (r.span.inside = o);
  var d = a.table.inside;
  (d.inline = o.inline),
    (d.link = o.link),
    (d.image = o.image),
    (d.footnote = o.footnote),
    (d.acronym = o.acronym),
    (d.mark = o.mark);
})(Prism);