prism-rip.js 849 B

1234567891011121314151617181920212223242526272829303132
  1. Prism.languages.rip = {
  2. 'comment': /#.*/,
  3. 'keyword': /(?:=>|->)|\b(?:class|if|else|switch|case|return|exit|try|catch|finally|raise)\b/,
  4. 'builtin': /@|\bSystem\b/,
  5. 'boolean': /\b(?:true|false)\b/,
  6. 'date': /\b\d{4}-\d{2}-\d{2}\b/,
  7. 'time': /\b\d{2}:\d{2}:\d{2}\b/,
  8. 'datetime': /\b\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\b/,
  9. 'character': /\B`[^\s`'",.:;#\/\\()<>\[\]{}]\b/,
  10. 'regex': {
  11. pattern: /(^|[^/])\/(?!\/)(?:\[[^\n\r\]]*\]|\\.|[^/\\\r\n\[])+\/(?=\s*(?:$|[\r\n,.;})]))/,
  12. lookbehind: true,
  13. greedy: true
  14. },
  15. 'symbol': /:[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/,
  16. 'string': {
  17. pattern: /("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,
  18. greedy: true
  19. },
  20. 'number': /[+-]?\b(?:\d+\.\d+|\d+)\b/,
  21. 'punctuation': /(?:\.{2,3})|[`,.:;=\/\\()<>\[\]{}]/,
  22. 'reference': /[^\d\s`'",.:;#\/\\()<>\[\]{}][^\s`'",.:;#\/\\()<>\[\]{}]*/
  23. };