summaryrefslogtreecommitdiffstats
path: root/public/prism/prism-gap.min.js
blob: 3d2cfb5fc294a6d2cf969a93508989652b8ac28e (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
37
38
39
40
41
(Prism.languages.gap = {
  shell: {
    pattern: /^gap>[\s\S]*?(?=^gap>|$(?![\s\S]))/m,
    greedy: !0,
    inside: {
      gap: {
        pattern: /^(gap>).+(?:(?:\r(?:\n|(?!\n))|\n)>.*)*/,
        lookbehind: !0,
        inside: null,
      },
      punctuation: /^gap>/,
    },
  },
  comment: { pattern: /#.*/, greedy: !0 },
  string: {
    pattern:
      /(^|[^\\'"])(?:'(?:[^\r\n\\']|\\.){1,10}'|"(?:[^\r\n\\"]|\\.)*"(?!")|"""[\s\S]*?""")/,
    lookbehind: !0,
    greedy: !0,
    inside: {
      continuation: {
        pattern: /([\r\n])>/,
        lookbehind: !0,
        alias: 'punctuation',
      },
    },
  },
  keyword:
    /\b(?:Assert|Info|IsBound|QUIT|TryNextMethod|Unbind|and|atomic|break|continue|do|elif|else|end|fi|for|function|if|in|local|mod|not|od|or|quit|readonly|readwrite|rec|repeat|return|then|until|while)\b/,
  boolean: /\b(?:false|true)\b/,
  function: /\b[a-z_]\w*(?=\s*\()/i,
  number: {
    pattern:
      /(^|[^\w.]|\.\.)(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?(?:_[a-z]?)?(?=$|[^\w.]|\.\.)/,
    lookbehind: !0,
  },
  continuation: { pattern: /([\r\n])>/, lookbehind: !0, alias: 'punctuation' },
  operator: /->|[-+*/^~=!]|<>|[<>]=?|:=|\.\./,
  punctuation: /[()[\]{},;.:]/,
}),
  (Prism.languages.gap.shell.inside.gap.inside = Prism.languages.gap);
_(?:matrix|pointer)|_matrix(?:_view)?|_pointer|p)?|conj|cookedp?|cst|cstring(?:_(?:dup|list|vector))?|curry3?|cyclen?|del_(?:constdef|fundef|interface|macdef|typedef|vardef)|delete|diag(?:mat)?|dim|dmatrixp?|do|double(?:_matrix(?:_view)?|_pointer|p)?|dowith3?|drop|dropwhile|eval(?:cmd)?|exactp|filter|fix|fixity|flip|float(?:_matrix|_pointer)|floor|fold[lr]1?|frac|free|funp?|functionp?|gcd|get(?:_(?:byte|constdef|double|float|fundef|int(?:64)?|interface(?:_typedef)?|long|macdef|pointer|ptrtag|sentry|short|string|typedef|vardef))?|globsym|hash|head|id|im|imatrixp?|index|inexactp|infp|init|insert|int(?:_matrix(?:_view)?|_pointer|p)?|int64_(?:matrix|pointer)|integerp?|iteraten?|iterwhile|join|keys?|lambdap?|last(?:err(?:pos)?)?|lcd|list[2p]?|listmap|make_ptrtag|malloc|map|matcat|matrixp?|max|member|min|nanp|nargs|nmatrixp?|null|numberp?|ord|pack(?:ed)?|pointer(?:_cast|_tag|_type|p)?|pow|pred|ptrtag|put(?:_(?:byte|double|float|int(?:64)?|long|pointer|short|string))?|rationalp?|re|realp?|realloc|recordp?|redim|reduce(?:_with)?|refp?|repeatn?|reverse|rlistp?|round|rows?|rowcat(?:map)?|rowmap|rowrev|rowvector(?:p|seq)?|same|scan[lr]1?|sentry|sgn|short_(?:matrix|pointer)|slice|smatrixp?|sort|split|str|strcat|stream|stride|string(?:_(?:dup|list|vector)|p)?|subdiag(?:mat)?|submat|subseq2?|substr|succ|supdiag(?:mat)?|symbolp?|tail|take|takewhile|thunkp?|transpose|trunc|tuplep?|typep|ubyte|uint(?:64)?|ulong|uncurry3?|unref|unzip3?|update|ushort|vals?|varp?|vector(?:p|seq)?|void|zip3?|zipwith3?)\b/, special: { pattern: /\b__[a-z]+__\b/i, alias: 'builtin', }, // Any combination of operator chars can be an operator // eslint-disable-next-line no-misleading-character-class operator: /(?:[!"#$%&'*+,\-.\/:<=>?@\\^`|~\u00a1-\u00bf\u00d7-\u00f7\u20d0-\u2bff]|\b_+\b)+|\b(?:and|div|mod|not|or)\b/, // FIXME: How can we prevent | and , to be highlighted as operator when they are used alone? punctuation: /[(){}\[\];,|]/, }; var inlineLanguages = ['c', { lang: 'c++', alias: 'cpp' }, 'fortran']; var inlineLanguageRe = /%< *-\*- *<lang>\d* *-\*-[\s\S]+?%>/.source; inlineLanguages.forEach(function (lang) { var alias = lang; if (typeof lang !== 'string') { alias = lang.alias; lang = lang.lang; } if (Prism.languages[alias]) { var o = {}; o['inline-lang-' + alias] = { pattern: RegExp( inlineLanguageRe.replace( '<lang>', lang.replace(/([.+*?\/\\(){}\[\]])/g, '\\$1') ), 'i' ), inside: Prism.util.clone(Prism.languages.pure['inline-lang'].inside), }; o['inline-lang-' + alias].inside.rest = Prism.util.clone( Prism.languages[alias] ); Prism.languages.insertBefore('pure', 'inline-lang', o); } }); // C is the default inline language if (Prism.languages.c) { Prism.languages.pure['inline-lang'].inside.rest = Prism.util.clone( Prism.languages.c ); } })(Prism);