xl.json 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. {
  2. "aliases": [
  3. "tao"
  4. ],
  5. "lexemes": "[a-zA-Z][a-zA-Z0-9_?]*",
  6. "keywords": {
  7. "keyword": "if then else do while until for loop import with is as where when by data constant integer real text name boolean symbol infix prefix postfix block tree",
  8. "literal": "true false nil",
  9. "built_in": "in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts"
  10. },
  11. "contains": [
  12. {
  13. "className": "comment",
  14. "begin": "\/\/",
  15. "end": "$",
  16. "contains": [
  17. {
  18. "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"
  19. },
  20. {
  21. "className": "doctag",
  22. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  23. "relevance": 0
  24. }
  25. ]
  26. },
  27. {
  28. "className": "comment",
  29. "begin": "\/\\*",
  30. "end": "\\*\/",
  31. "contains": [
  32. {
  33. "$ref": "#contains.0.contains.0"
  34. },
  35. {
  36. "className": "doctag",
  37. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  38. "relevance": 0
  39. }
  40. ]
  41. },
  42. {
  43. "className": "string",
  44. "begin": "\"",
  45. "end": "\"",
  46. "illegal": "\\n"
  47. },
  48. {
  49. "className": "string",
  50. "begin": "'",
  51. "end": "'",
  52. "illegal": "\\n"
  53. },
  54. {
  55. "className": "string",
  56. "begin": "<<",
  57. "end": ">>"
  58. },
  59. {
  60. "className": "function",
  61. "begin": "[a-z][^\\n]*->",
  62. "returnBegin": true,
  63. "end": "->",
  64. "contains": [
  65. {
  66. "className": "title",
  67. "begin": "[a-zA-Z]\\w*",
  68. "relevance": 0,
  69. "starts": {
  70. "endsWithParent": true,
  71. "keywords": {
  72. "$ref": "#keywords"
  73. }
  74. }
  75. }
  76. ]
  77. },
  78. {
  79. "beginKeywords": "import",
  80. "end": "$",
  81. "keywords": {
  82. "$ref": "#keywords"
  83. },
  84. "contains": [
  85. {
  86. "$ref": "#contains.2"
  87. }
  88. ]
  89. },
  90. {
  91. "className": "number",
  92. "begin": "[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?"
  93. },
  94. {
  95. "className": "number",
  96. "begin": "\\b\\d+(\\.\\d+)?",
  97. "relevance": 0
  98. }
  99. ]
  100. }