UNPKG

@highlightjs/cdn-assets

Version:

Syntax highlighting with language autodetection. (pre-compiled CDN assets)

19 lines 1.41 kB
/*! `gcode` grammar compiled for Highlight.js 11.11.1 */ (()=>{var n=(()=>{"use strict";return n=>{const e=n.regex,t=/\b/ ;function c(n,e){if(0===n.index)return;const t=n.input[n.index-1] ;t>="0"&&t<="9"||"_"!==t&&e.ignoreMatch()} const a=/[+-]?((\.\d+)|(\d+)(\.\d*)?)/,o=/[GM]\s*\d+(\.\d+)?/,s=/T\s*\d+/,i=/O\s*\d+/,r=/O<.+>/,E=/[ABCUVWXYZ]\s*/,d=/[FHIJKPQRS]\s*/ ;return{name:"G-code (ISO 6983)",aliases:["nc"],case_insensitive:!0, disableAutodetect:!0,keywords:{$pattern:/[A-Z]+|%/, keyword:["THEN","ELSE","ENDIF","IF","GOTO","DO","WHILE","WH","END","CALL","SUB","ENDSUB","EQ","NE","LT","GT","LE","GE","AND","OR","XOR","%"], built_in:["ATAN","ABS","ACOS","ASIN","COS","EXP","FIX","FUP","ROUND","LN","SIN","SQRT","TAN","EXISTS"] }, contains:[n.COMMENT(/\(/,/\)/),n.COMMENT(/;/,/$/),n.APOS_STRING_MODE,n.QUOTE_STRING_MODE,n.C_NUMBER_MODE,{ scope:"title.function",variants:[{match:e.concat(t,o)},{begin:o,"on:begin":c},{ match:e.concat(t,s)},{begin:s,"on:begin":c}]},{scope:"symbol",variants:[{ match:e.concat(t,i)},{begin:i,"on:begin":c},{match:e.concat(t,r)},{begin:r, "on:begin":c},{match:/\*\s*\d+\s*$/}]},{scope:"operator",match:/^N\s*\d+/},{ scope:"variable",match:/-?#\s*\d+/},{scope:"property",variants:[{ match:e.concat(t,E,a)},{begin:e.concat(E,a),"on:begin":c}]},{scope:"params", variants:[{match:e.concat(t,d,a)},{begin:e.concat(d,a),"on:begin":c}]}]}}})() ;hljs.registerLanguage("gcode",n)})();