1 | hljs.registerLanguage("gcode",(()=>{"use strict";return e=>{
|
2 | const a=e.inherit(e.C_NUMBER_MODE,{
|
3 | begin:"([-+]?((\\.\\d+)|(\\d+)(\\.\\d*)?))|"+e.C_NUMBER_RE
|
4 | }),n=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(/\(/,/\)/),a,e.inherit(e.APOS_STRING_MODE,{
|
5 | illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null}),{className:"name",
|
6 | begin:"([G])([0-9]+\\.?[0-9]?)"},{className:"name",
|
7 | begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",begin:"(VC|VS|#)",
|
8 | end:"(\\d+)"},{className:"attr",begin:"(VZOFX|VZOFY|VZOFZ)"},{
|
9 | className:"built_in",
|
10 | begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",contains:[a],
|
11 | end:"\\]"},{className:"symbol",variants:[{begin:"N",end:"\\d+",illegal:"\\W"}]}]
|
12 | ;return{name:"G-code (ISO 6983)",aliases:["nc"],case_insensitive:!0,keywords:{
|
13 | $pattern:"[A-Z_][A-Z0-9_.]*",
|
14 | keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"
|
15 | },contains:[{className:"meta",begin:"%"},{className:"meta",begin:"([O])([0-9]+)"
|
16 | }].concat(n)}}})()); |
\ | No newline at end of file |