prism-smalltalk.js 722 B

12345678910111213141516171819202122232425262728293031
  1. Prism.languages.smalltalk = {
  2. 'comment': /"(?:""|[^"])*"/,
  3. 'character': {
  4. pattern: /\$./,
  5. alias: 'string'
  6. },
  7. 'string': /'(?:''|[^'])*'/,
  8. 'symbol': /#[\da-z]+|#(?:-|([+\/\\*~<>=@%|&?!])\1?)|#(?=\()/i,
  9. 'block-arguments': {
  10. pattern: /(\[\s*):[^\[|]*\|/,
  11. lookbehind: true,
  12. inside: {
  13. 'variable': /:[\da-z]+/i,
  14. 'punctuation': /\|/
  15. }
  16. },
  17. 'temporary-variables': {
  18. pattern: /\|[^|]+\|/,
  19. inside: {
  20. 'variable': /[\da-z]+/i,
  21. 'punctuation': /\|/
  22. }
  23. },
  24. 'keyword': /\b(?:nil|true|false|self|super|new)\b/,
  25. 'number': [
  26. /\d+r-?[\dA-Z]+(?:\.[\dA-Z]+)?(?:e-?\d+)?/,
  27. /\b\d+(?:\.\d+)?(?:e-?\d+)?/
  28. ],
  29. 'operator': /[<=]=?|:=|~[~=]|\/\/?|\\\\|>[>=]?|[!^+\-*&|,@]/,
  30. 'punctuation': /[.;:?\[\](){}]/
  31. };