summaryrefslogtreecommitdiff
path: root/pyssg.xyz/live/static/hl/languages/gcode.min.js
diff options
context:
space:
mode:
Diffstat (limited to 'pyssg.xyz/live/static/hl/languages/gcode.min.js')
-rw-r--r--pyssg.xyz/live/static/hl/languages/gcode.min.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/pyssg.xyz/live/static/hl/languages/gcode.min.js b/pyssg.xyz/live/static/hl/languages/gcode.min.js
new file mode 100644
index 0000000..e0b3982
--- /dev/null
+++ b/pyssg.xyz/live/static/hl/languages/gcode.min.js
@@ -0,0 +1,15 @@
+hljs.registerLanguage("gcode",(()=>{"use strict";return e=>{
+const a=[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.COMMENT(/\(/,/\)/),e.inherit(e.C_NUMBER_MODE,{
+begin:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+e.C_NUMBER_RE
+}),e.inherit(e.APOS_STRING_MODE,{illegal:null}),e.inherit(e.QUOTE_STRING_MODE,{
+illegal:null}),{className:"name",begin:"([G])([0-9]+\\.?[0-9]?)"},{
+className:"name",begin:"([M])([0-9]+\\.?[0-9]?)"},{className:"attr",
+begin:"(VC|VS|#)",end:"(\\d+)"},{className:"attr",begin:"(VZOFX|VZOFY|VZOFZ)"},{
+className:"built_in",
+begin:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",
+end:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{className:"symbol",variants:[{
+begin:"N",end:"\\d+",illegal:"\\W"}]}];return{name:"G-code (ISO 6983)",
+aliases:["nc"],case_insensitive:!0,keywords:{$pattern:"[A-Z_][A-Z0-9_.]*",
+keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"
+},contains:[{className:"meta",begin:"%"},{className:"meta",begin:"([O])([0-9]+)"
+}].concat(a)}}})()); \ No newline at end of file