tp.json 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. {
  2. "keywords": {
  3. "keyword": "ABORT ACC ADJUST AND AP_LD BREAK CALL CNT COL CONDITION CONFIG DA DB DIV DETECT ELSE END ENDFOR ERR_NUM ERROR_PROG FINE FOR GP GUARD INC IF JMP LINEAR_MAX_SPEED LOCK MOD MONITOR OFFSET Offset OR OVERRIDE PAUSE PREG PTH RT_LD RUN SELECT SKIP Skip TA TB TO TOOL_OFFSET Tool_Offset UF UT UFRAME_NUM UTOOL_NUM UNLOCK WAIT X Y Z W P R STRLEN SUBSTR FINDSTR VOFFSET PROG ATTR MN POS",
  4. "literal": "ON OFF max_speed LPOS JPOS ENABLE DISABLE START STOP RESET"
  5. },
  6. "contains": [
  7. {
  8. "className": "built_in",
  9. "begin": "(AR|P|PAYLOAD|PR|R|SR|RSR|LBL|VR|UALM|MESSAGE|UTOOL|UFRAME|TIMER|TIMER_OVERFLOW|JOINT_MAX_SPEED|RESUME_PROG|DIAG_REC)\\[",
  10. "end": "\\]",
  11. "contains": [
  12. "self",
  13. {
  14. "className": "number",
  15. "begin": "[1-9][0-9]*",
  16. "relevance": 0
  17. },
  18. {
  19. "className": "symbol",
  20. "begin": ":[^\\]]+"
  21. }
  22. ]
  23. },
  24. {
  25. "className": "built_in",
  26. "begin": "(AI|AO|DI|DO|F|RI|RO|UI|UO|GI|GO|SI|SO)\\[",
  27. "end": "\\]",
  28. "contains": [
  29. "self",
  30. {
  31. "$ref": "#contains.0.contains.1"
  32. },
  33. {
  34. "className": "string",
  35. "begin": "\"",
  36. "end": "\"",
  37. "illegal": "\\n",
  38. "contains": [
  39. {
  40. "begin": "\\\\[\\s\\S]",
  41. "relevance": 0
  42. }
  43. ]
  44. },
  45. {
  46. "$ref": "#contains.0.contains.2"
  47. }
  48. ]
  49. },
  50. {
  51. "className": "keyword",
  52. "begin": "\/(PROG|ATTR|MN|POS|END)\\b"
  53. },
  54. {
  55. "className": "keyword",
  56. "begin": "(CALL|RUN|POINT_LOGIC|LBL)\\b"
  57. },
  58. {
  59. "className": "keyword",
  60. "begin": "\\b(ACC|CNT|Skip|Offset|PSPD|RT_LD|AP_LD|Tool_Offset)"
  61. },
  62. {
  63. "className": "number",
  64. "begin": "\\d+(sec|msec|mm\/sec|cm\/min|inch\/min|deg\/sec|mm|in|cm)?\\b",
  65. "relevance": 0
  66. },
  67. {
  68. "className": "comment",
  69. "begin": "\/\/",
  70. "end": "[;$]",
  71. "contains": [
  72. {
  73. "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"
  74. },
  75. {
  76. "className": "doctag",
  77. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  78. "relevance": 0
  79. }
  80. ]
  81. },
  82. {
  83. "className": "comment",
  84. "begin": "!",
  85. "end": "[;$]",
  86. "contains": [
  87. {
  88. "$ref": "#contains.6.contains.0"
  89. },
  90. {
  91. "className": "doctag",
  92. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  93. "relevance": 0
  94. }
  95. ]
  96. },
  97. {
  98. "className": "comment",
  99. "begin": "--eg:",
  100. "end": "$",
  101. "contains": [
  102. {
  103. "$ref": "#contains.6.contains.0"
  104. },
  105. {
  106. "className": "doctag",
  107. "begin": "(?:TODO|FIXME|NOTE|BUG|XXX):",
  108. "relevance": 0
  109. }
  110. ]
  111. },
  112. {
  113. "$ref": "#contains.1.contains.2"
  114. },
  115. {
  116. "className": "string",
  117. "begin": "'",
  118. "end": "'"
  119. },
  120. {
  121. "className": "number",
  122. "begin": "(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",
  123. "relevance": 0
  124. },
  125. {
  126. "className": "variable",
  127. "begin": "\\$[A-Za-z0-9_]+"
  128. }
  129. ]
  130. }