smalltalk.json 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. {
  2. "aliases": [
  3. "st"
  4. ],
  5. "keywords": "self super nil true false thisContext",
  6. "contains": [
  7. {
  8. "className": "comment",
  9. "begin": "\"",
  10. "end": "\"",
  11. "contains": [
  12. {
  13. "begin": "\\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\\b"
  14. },
  15. {
  16. "className": "doctag",
  17. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  18. "relevance": 0
  19. }
  20. ]
  21. },
  22. {
  23. "className": "string",
  24. "begin": "'",
  25. "end": "'",
  26. "illegal": "\\n",
  27. "contains": [
  28. {
  29. "begin": "\\\\[\\s\\S]",
  30. "relevance": 0
  31. }
  32. ]
  33. },
  34. {
  35. "className": "type",
  36. "begin": "\\b[A-Z][A-Za-z0-9_]*",
  37. "relevance": 0
  38. },
  39. {
  40. "begin": "[a-z][a-zA-Z0-9_]*:",
  41. "relevance": 0
  42. },
  43. {
  44. "className": "number",
  45. "begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
  46. "relevance": 0
  47. },
  48. {
  49. "className": "symbol",
  50. "begin": "#[a-zA-Z_]\\w*"
  51. },
  52. {
  53. "className": "string",
  54. "begin": "\\$.{1}"
  55. },
  56. {
  57. "begin": "\\|[ ]*[a-z][a-zA-Z0-9_]*([ ]+[a-z][a-zA-Z0-9_]*)*[ ]*\\|",
  58. "returnBegin": true,
  59. "end": "\\|",
  60. "illegal": "\\S",
  61. "contains": [
  62. {
  63. "begin": "(\\|[ ]*)?[a-z][a-zA-Z0-9_]*"
  64. }
  65. ]
  66. },
  67. {
  68. "begin": "\\#\\(",
  69. "end": "\\)",
  70. "contains": [
  71. {
  72. "$ref": "#contains.1"
  73. },
  74. {
  75. "$ref": "#contains.6"
  76. },
  77. {
  78. "$ref": "#contains.4"
  79. },
  80. {
  81. "$ref": "#contains.5"
  82. }
  83. ]
  84. }
  85. ]
  86. }