f7cloud_client/apps/text/js/gcode-C5dqKupi.chunk.mjs.map
root 8b6a0139db f7cloud_client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-17 22:59:26 +00:00

1 line
6.3 KiB
Plaintext

{"version":3,"file":"gcode-C5dqKupi.chunk.mjs","sources":["../node_modules/highlight.js/lib/languages/gcode.js"],"sourcesContent":["/*\n Language: G-code (ISO 6983)\n Contributors: Adam Joseph Cook <adam.joseph.cook@gmail.com>\n Description: G-code syntax highlighter for Fanuc and other common CNC machine tool controls.\n Website: https://www.sis.se/api/document/preview/911952/\n Category: hardware\n */\n\nfunction gcode(hljs) {\n const regex = hljs.regex;\n const GCODE_KEYWORDS = {\n $pattern: /[A-Z]+|%/,\n keyword: [\n // conditions\n 'THEN',\n 'ELSE',\n 'ENDIF',\n 'IF',\n\n // controls\n 'GOTO',\n 'DO',\n 'WHILE',\n 'WH',\n 'END',\n 'CALL',\n\n // scoping\n 'SUB',\n 'ENDSUB',\n\n // comparisons\n 'EQ',\n 'NE',\n 'LT',\n 'GT',\n 'LE',\n 'GE',\n 'AND',\n 'OR',\n 'XOR',\n\n // start/end of program\n '%'\n ],\n built_in: [\n 'ATAN',\n 'ABS',\n 'ACOS',\n 'ASIN',\n 'COS',\n 'EXP',\n 'FIX',\n 'FUP',\n 'ROUND',\n 'LN',\n 'SIN',\n 'SQRT',\n 'TAN',\n 'EXISTS'\n ]\n };\n\n\n // TODO: post v12 lets use look-behind, until then \\b and a callback filter will be used\n // const LETTER_BOUNDARY_RE = /(?<![A-Z])/;\n const LETTER_BOUNDARY_RE = /\\b/;\n\n function LETTER_BOUNDARY_CALLBACK(matchdata, response) {\n if (matchdata.index === 0) {\n return;\n }\n\n const charBeforeMatch = matchdata.input[matchdata.index - 1];\n if (charBeforeMatch >= '0' && charBeforeMatch <= '9') {\n return;\n }\n\n if (charBeforeMatch === '_') {\n return;\n }\n\n response.ignoreMatch();\n }\n\n const NUMBER_RE = /[+-]?((\\.\\d+)|(\\d+)(\\.\\d*)?)/;\n\n const GENERAL_MISC_FUNCTION_RE = /[GM]\\s*\\d+(\\.\\d+)?/;\n const TOOLS_RE = /T\\s*\\d+/;\n const SUBROUTINE_RE = /O\\s*\\d+/;\n const SUBROUTINE_NAMED_RE = /O<.+>/;\n const AXES_RE = /[ABCUVWXYZ]\\s*/;\n const PARAMETERS_RE = /[FHIJKPQRS]\\s*/;\n\n const GCODE_CODE = [\n // comments\n hljs.COMMENT(/\\(/, /\\)/),\n hljs.COMMENT(/;/, /$/),\n hljs.APOS_STRING_MODE,\n hljs.QUOTE_STRING_MODE,\n hljs.C_NUMBER_MODE,\n\n // gcodes\n {\n scope: 'title.function',\n variants: [\n // G General functions: G0, G5.1, G5.2, …\n // M Misc functions: M0, M55.6, M199, …\n { match: regex.concat(LETTER_BOUNDARY_RE, GENERAL_MISC_FUNCTION_RE) },\n {\n begin: GENERAL_MISC_FUNCTION_RE,\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n },\n // T Tools\n { match: regex.concat(LETTER_BOUNDARY_RE, TOOLS_RE), },\n {\n begin: TOOLS_RE,\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n }\n ]\n },\n\n {\n scope: 'symbol',\n variants: [\n // O Subroutine ID: O100, O110, …\n { match: regex.concat(LETTER_BOUNDARY_RE, SUBROUTINE_RE) },\n {\n begin: SUBROUTINE_RE,\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n },\n // O Subroutine name: O<some>, …\n { match: regex.concat(LETTER_BOUNDARY_RE, SUBROUTINE_NAMED_RE) },\n {\n begin: SUBROUTINE_NAMED_RE,\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n },\n // Checksum at end of line: *71, *199, …\n { match: /\\*\\s*\\d+\\s*$/ }\n ]\n },\n\n {\n scope: 'operator', // N Line number: N1, N2, N1020, …\n match: /^N\\s*\\d+/\n },\n\n {\n scope: 'variable',\n match: /-?#\\s*\\d+/\n },\n\n {\n scope: 'property', // Physical axes,\n variants: [\n { match: regex.concat(LETTER_BOUNDARY_RE, AXES_RE, NUMBER_RE) },\n {\n begin: regex.concat(AXES_RE, NUMBER_RE),\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n },\n ]\n },\n\n {\n scope: 'params', // Different types of parameters\n variants: [\n { match: regex.concat(LETTER_BOUNDARY_RE, PARAMETERS_RE, NUMBER_RE) },\n {\n begin: regex.concat(PARAMETERS_RE, NUMBER_RE),\n 'on:begin': LETTER_BOUNDARY_CALLBACK\n },\n ]\n },\n ];\n\n return {\n name: 'G-code (ISO 6983)',\n aliases: [ 'nc' ],\n // Some implementations (CNC controls) of G-code are interoperable with uppercase and lowercase letters seamlessly.\n // However, most prefer all uppercase and uppercase is customary.\n case_insensitive: true,\n // TODO: post v12 with the use of look-behind this can be enabled\n disableAutodetect: true,\n keywords: GCODE_KEYWORDS,\n contains: GCODE_CODE\n };\n}\n\nmodule.exports = gcode;\n"],"names":["gcode","hljs","regex","GCODE_KEYWORDS","LETTER_BOUNDARY_RE","LETTER_BOUNDARY_CALLBACK","matchdata","response","charBeforeMatch","NUMBER_RE","GENERAL_MISC_FUNCTION_RE","TOOLS_RE","SUBROUTINE_RE","SUBROUTINE_NAMED_RE","AXES_RE","PARAMETERS_RE","GCODE_CODE","gcode_1"],"mappings":"uCAQA,SAASA,EAAMC,EAAM,CACnB,MAAMC,EAAQD,EAAK,MACbE,EAAiB,CACrB,SAAU,WACV,QAAS,CAEP,OACA,OACA,QACA,KAGA,OACA,KACA,QACA,KACA,MACA,OAGA,MACA,SAGA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,MAGA,KAEF,SAAU,CACR,OACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,QACA,KACA,MACA,OACA,MACA,QACN,GAMQC,EAAqB,KAE3B,SAASC,EAAyBC,EAAWC,EAAU,CACrD,GAAID,EAAU,QAAU,EACtB,OAGF,MAAME,EAAkBF,EAAU,MAAMA,EAAU,MAAQ,CAAC,EACvDE,GAAmB,KAAOA,GAAmB,KAI7CA,IAAoB,KAIxBD,EAAS,YAAW,CACxB,CAEE,MAAME,EAAY,+BAEZC,EAA2B,qBAC3BC,EAAW,UACXC,EAAgB,UAChBC,EAAsB,QACtBC,EAAU,iBACVC,EAAgB,iBAEhBC,EAAa,CAEjBf,EAAK,QAAQ,KAAM,IAAI,EACvBA,EAAK,QAAQ,IAAK,GAAG,EACrBA,EAAK,iBACLA,EAAK,kBACLA,EAAK,cAGL,CACE,MAAO,iBACP,SAAU,CAGR,CAAE,MAAOC,EAAM,OAAOE,EAAoBM,CAAwB,CAAC,EACnE,CACE,MAAOA,EACP,WAAYL,GAGd,CAAE,MAAOH,EAAM,OAAOE,EAAoBO,CAAQ,CAAC,EACnD,CACE,MAAOA,EACP,WAAYN,CACtB,CACA,GAGI,CACE,MAAO,SACP,SAAU,CAER,CAAE,MAAOH,EAAM,OAAOE,EAAoBQ,CAAa,CAAC,EACxD,CACE,MAAOA,EACP,WAAYP,GAGd,CAAE,MAAOH,EAAM,OAAOE,EAAoBS,CAAmB,CAAC,EAC9D,CACE,MAAOA,EACP,WAAYR,GAGd,CAAE,MAAO,cAAc,CAC/B,GAGI,CACE,MAAO,WACP,MAAO,YAGT,CACE,MAAO,WACP,MAAO,aAGT,CACE,MAAO,WACP,SAAU,CACR,CAAE,MAAOH,EAAM,OAAOE,EAAoBU,EAASL,CAAS,CAAC,EAC7D,CACE,MAAOP,EAAM,OAAOY,EAASL,CAAS,EACtC,WAAYJ,EAEtB,GAGI,CACE,MAAO,SACP,SAAU,CACR,CAAE,MAAOH,EAAM,OAAOE,EAAoBW,EAAeN,CAAS,CAAC,EACnE,CACE,MAAOP,EAAM,OAAOa,EAAeN,CAAS,EAC5C,WAAYJ,EAEtB,IAIE,MAAO,CACL,KAAM,oBACN,QAAS,CAAE,IAAI,EAGf,iBAAkB,GAElB,kBAAmB,GACnB,SAAUF,EACV,SAAUa,EAEd,CAEA,OAAAC,EAAiBjB","x_google_ignoreList":[0]}