summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-makefile.js
blob: 08ecf19900e0dc3b1827263b5a35a55f939a9d46 (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
30
31
32
33
34
35
36
Prism.languages.makefile = {
  comment: {
    pattern: /(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,
    lookbehind: true,
  },
  string: {
    pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
    greedy: true,
  },

  'builtin-target': {
    pattern: /\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,
    alias: 'builtin',
  },

  target: {
    pattern: /^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,
    alias: 'symbol',
    inside: {
      variable: /\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/,
    },
  },
  variable: /\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,

  // Directives
  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: true,
  },
  operator: /(?:::|[?:+!])?=|[|@]/,
  punctuation: /[:;(){}]/,
};
span class="w"> Prism.languages.insertBefore('groovy', 'punctuation', { 'spock-block': /\b(?:and|cleanup|expect|given|setup|then|when|where):/, }), Prism.languages.insertBefore('groovy', 'function', { annotation: { pattern: /(^|[^.])@\w+/, lookbehind: !0, alias: 'punctuation', }, }), Prism.hooks.add('wrap', function (e) { if ('groovy' === e.language && 'string' === e.type) { var t = e.content[0]; if ("'" != t) { var n = /([^\\])(?:\$(?:\{.*?\}|[\w.]+))/; '$' === t && (n = /([^\$])(?:\$(?:\{.*?\}|[\w.]+))/), (e.content = e.content.replace(/&lt;/g, '<').replace(/&amp;/g, '&')), (e.content = Prism.highlight(e.content, { expression: { pattern: n, lookbehind: !0, inside: Prism.languages.groovy, }, })), e.classes.push('/' === t ? 'regex' : 'gstring'); } } });