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