UNPKG

882 BJavaScriptView Raw
1Prism.languages.sas = {
2 'datalines': {
3 pattern: /^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im,
4 alias: 'string',
5 inside: {
6 'keyword': {
7 pattern: /^(\s*)(?:(?:data)?lines|cards)/i,
8 lookbehind: true
9 },
10 'punctuation': /;/
11 }
12 },
13 'comment': [
14 {
15 pattern: /(^\s*|;\s*)\*.*;/m,
16 lookbehind: true
17 },
18 /\/\*[\s\S]+?\*\//
19 ],
20 'datetime': {
21 // '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt
22 pattern: /'[^']+'(?:dt?|t)\b/i,
23 alias: 'number'
24 },
25 'string': {
26 pattern: /(["'])(?:\1\1|(?!\1)[\s\S])*\1/,
27 greedy: true
28 },
29 'keyword': /\b(?:data|else|format|if|input|proc\s\w+|quit|run|then)\b/i,
30 // Decimal (1.2e23), hexadecimal (0c1x)
31 'number': /\b(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i,
32 'operator': /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i,
33 'punctuation': /[$%@.(){}\[\];,\\]/
34};