Index: lib/src/prism/components/prism-sas.js |
diff --git a/lib/src/prism/components/prism-sas.js b/lib/src/prism/components/prism-sas.js |
index e8696d2deece820d0202f2db1ef57139de9513a6..ffee46bf4545a2f7772a8127b363c2c93a11e7cd 100644 |
--- a/lib/src/prism/components/prism-sas.js |
+++ b/lib/src/prism/components/prism-sas.js |
@@ -1,17 +1,13 @@ |
Prism.languages.sas = { |
'datalines': { |
- pattern: /(^|[\r\n])\s*(?:(?:data)?lines|cards);[\s\S]+?[\r\n];/i, |
- lookbehind: true, |
+ pattern: /^\s*(?:(?:data)?lines|cards);[\s\S]+?(?:\r?\n|\r);/im, |
+ alias: 'string', |
inside: { |
'keyword': { |
pattern: /^(\s*)(?:(?:data)?lines|cards)/i, |
lookbehind: true |
}, |
- 'punctuation': /;/, |
- 'data': { |
- pattern: /[\s\S]+/, |
- alias: 'string' |
- } |
+ 'punctuation': /;/ |
} |
}, |
'comment': [ |
@@ -23,13 +19,13 @@ Prism.languages.sas = { |
], |
'datetime': { |
// '1jan2013'd, '9:25:19pm't, '18jan2003:9:27:05am'dt |
- pattern: /'[^']+'(?:d|d?t)\b/i, |
+ pattern: /'[^']+'(?:dt?|t)\b/i, |
alias: 'number' |
}, |
'string': /(["'])(?:\1\1|(?!\1)[\s\S])*\1/, |
'keyword': /\b(?:data|else|format|if|input|proc|run|then)\b/i, |
// Decimal (1.2e23), hexadecimal (0c1x) |
'number': /(?:\B-|\b)(?:[\da-f]+x|\d+(?:\.\d+)?(?:e[+-]?\d+)?)/i, |
- 'operator': /\*\*|\|\||!!|¦¦|<>|><|[~¬^<>]?=|[*\/+\-<>&\|!¦~¬^]|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i, |
+ 'operator': /\*\*?|\|\|?|!!?|¦¦?|<[>=]?|>[<=]?|[-+\/=&]|[~¬^]=?|\b(?:eq|ne|gt|lt|ge|le|in|not)\b/i, |
'punctuation': /[$%@.(){}\[\];,\\]/ |
}; |