2
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
3
"name": "Klipper Config",
6
"include": "#single_line_comment"
9
"include": "#config_block"
12
"include": "#config_line"
18
"include": "#gcode_line"
22
"single_line_comment": {
25
"name": "comment.line.number-sign",
29
"name": "comment.line.gcode",
37
"name": "constant.numeric",
38
"match": "\\-?\\d+([\\.,]\\d+)?\\b"
41
"name": "constant.numeric",
42
"match": "\\-?[\\.,]\\d+?\\b"
47
"name": "constant.language",
48
"match": "(?i)\\b(true|false)\\b"
51
"contentName": "keyword.control",
56
"include": "#known_config_block_name"
59
"include": "#known_driver_type"
62
"include": "#single_line_comment"
66
"known_config_block_name": {
67
"name": "storage.type",
68
"match": "(?i)\\b(ad5206|adc_scaled|adc_temperature|adxl345|angle|bed_mesh|bed_screws|bed_tilt|bltouch|board_pins|controller_fan|delayed_gcode|delta_calibrate|display|display_data|display_glyph|display_status|display_template|dotstar|dual_carriage|duplicate_pin_override|endstop_phase|extruder_stepper|extruder[1-9]{0,1}|fan|fan_generic|filament_motion_sensor|filament_switch_sensor|firmware_retraction|force_move|gcode_arcs|gcode_button|gcode_macro|hall_filament_width_sensor|heater_bed|heater_fan|heater_generic|homing_heaters|homing_override|idle_timeout|include|input_shaper|led|manual_probe|manual_stepper|mcp4018|mcp4451|mcp4728|mcu|menu|multi_pin|neopixel|output_pin|palette2|pause_resume|pca9533|pca9632|printer|probe|quad_gantry_level|replicape|resonance_tester|respond|safe_z_home|samd_sercom|save_variables|screws_tilt_adjust|sdcard_loop|servo|skew_correction|smart_effector|static_digital_output|stepper_(bed|arm|[abcdxy]|z[1-9]{0,1})|sx1509|temperature_fan|temperature_sensor|thermistor|tsl1401cl_filament_width_sensor|verify_heater|virtual_sdcard|z_tilt)\\b"
70
"known_driver_type": {
71
"name": "support.type",
72
"match": "(?i)\\btmc(2130|2208|2209|2240|2660|5160)\\b"
74
"known_thermistor_type": {
75
"name": "support.type",
76
"match": "(?i)\\b(EPCOS 100K B57560G104F|ATC Semitec 104GT-2|ATC Semitec 104NT-4-R025H42G|Generic 3950|NTC 100K beta 3950|Honeywell 100K 135-104LAG-J01|NTC 100K MGB18-104F39050L32|SliceEngineering 450|TDK NTCG104LH104JT1)\\b"
78
"known_extruder_sensor_type": {
79
"name": "support.type",
80
"match": "(?i)\\b(MAX6675|MAX31855|MAX31856|MAX31865|PT100 INA826|AD595|AD597|AD8494|AD8495|AD8496|AD8497|AHT10|PT1000|BMP280|BME280|BME680|HTU21D|SHT3X|SI7013|SI7020|SI7021|SHT21|LM75|temperature_mcu|temperature_host|DS18B20)\\b"
82
"known_control_type": {
83
"name": "support.type",
84
"match": "(?i)\\b(watermark|pid)\\b"
86
"known_display_type": {
87
"name": "support.type",
88
"match": "(?i)\\b(hd44780|st7920|uc1701|ssd1306|sh1106)\\b"
91
"name": "support.type",
92
"match": "\\/dev\\/serial\\/by-(id|path)\\/[\\d\\w\\/\\-:\\.]+"
97
"name": "support.type",
98
"match": "(?i)[\\^~!]*(ar|analog)\\d{1,2}"
101
"name": "support.type",
102
"match": "(?i)[\\^~!]*(z:)?[a-z]{1,2}\\d{1,2}(\\.\\d{1,2})?"
107
"begin": "^(\\w+)\\s*[:=]\\s*",
110
"name": "variable.name"
116
"include": "#known_thermistor_type"
119
"include": "#known_extruder_sensor_type"
122
"include": "#known_control_type"
125
"include": "#known_display_type"
137
"include": "#boolean"
140
"include": "#single_line_comment"
147
"include": "#gcode_command"
150
"include": "#gcode_extended_command"
153
"include": "#gcode_parameter"
156
"include": "#gcode_extended_parameter"
159
"include": "#gcode_macro_block"
164
"begin": "(?ix)^\\s* ([GMTD]) (?![a-z])",
167
"name": "keyword.operator"
176
"include": "#gcode_macro_block"
181
"begin": "(?ix)\\b ([a-z]) (?![a-z])",
184
"name": "variable.parameter"
193
"include": "#gcode_macro_block"
197
"gcode_extended_command": {
198
"name": "keyword.operator",
199
"match": "(?i)^\\s*(ABORT|ACCELEROMETER_DEBUG_READ|ACCELEROMETER_DEBUG_WRITE|ACCELEROMETER_MEASURE|ACCELEROMETER_QUERY|ACCEPT|ACTIVATE_EXTRUDER|ANGLE_CALIBRATE|ANGLE_DEBUG_READ|ANGLE_DEBUG_WRITE|AXIS_TWIST_COMPENSATION_CALIBRATE|BED_MESH_CALIBRATE|BED_MESH_CLEAR|BED_MESH_MAP|BED_MESH_OFFSET|BED_MESH_OUTPUT|BED_MESH_PROFILE|BED_SCREWS_ADJUST|BED_TILT_CALIBRATE|BLTOUCH_DEBUG|BLTOUCH_STORE|CALC_MEASURED_SKEW|CANCEL_PRINT|CLEAR_PAUSE|DELTA_ANALYZE|DELTA_CALIBRATE|DISABLE_FILAMENT_WIDTH_LOG|DISABLE_FILAMENT_WIDTH_SENSOR|DUMP_TMC|ENABLE_FILAMENT_WIDTH_LOG|ENABLE_FILAMENT_WIDTH_SENSOR|ENDSTOP_PHASE_CALIBRATE|EXCLUDE_OBJECT|EXCLUDE_OBJECT_DEFINE|EXCLUDE_OBJECT_END|EXCLUDE_OBJECT_START|FIRMWARE_RESTART|FORCE_MOVE|GET_CURRENT_SKEW|GET_POSITION|GET_RETRACTION|HELP|INIT_TMC|MANUAL_PROBE|MANUAL_STEPPER|MEASURE_AXES_NOISE|PALETTE_CLEAR|PALETTE_CONNECT|PALETTE_CUT|PALETTE_DISCONNECT|PALETTE_SMART_LOAD|PAUSE|PID_CALIBRATE|PROBE|PROBE_ACCURACY|PROBE_CALIBRATE|QUERY_ADC|QUAD_GANTRY_LEVEL|QUERY_ADC|QUERY_ENDSTOPS|QUERY_FILAMENT_SENSOR|QUERY_FILAMENT_WIDTH|QUERY_PROBE|QUERY_RAW_FILAMENT_WIDTH|RESET_FILAMENT_WIDTH_SENSOR|RESET_SMART_EFFECTOR|RESPOND|RESTART|RESTORE_DUAL_CARRIAGE_STATE|RESTORE_GCODE_STATE|RESUME|SAVE_CONFIG|SAVE_DUAL_CARRIAGE_STATE|SAVE_GCODE_STATE|SAVE_VARIABLE|SCREWS_TILT_CALCULATE|SDCARD_LOOP_BEGIN|SDCARD_LOOP_DESIST|SDCARD_LOOP_END|SDCARD_PRINT_FILE|SDCARD_RESET_FILE|SET_DIGIPOT|SET_DISPLAY_GROUP|SET_DUAL_CARRIAGE|SET_EXTRUDER_ROTATION_DISTANCE|SET_EXTRUDER_STEP_DISTANCE|SET_FAN_SPEED|SET_FILAMENT_SENSOR|SET_GCODE_OFFSET|SET_GCODE_VARIABLE|SET_HEATER_TEMPERATURE|SET_IDLE_TIMEOUT|SET_INPUT_SHAPER|SET_KINEMATIC_POSITION|SET_LED|SET_LED_TEMPLATE|SET_PIN|SET_PRESSURE_ADVANCE|SET_PRINT_STATS_INFO|SET_RETRACTION|SET_SERVO|SET_SKEW|SET_SMART_EFFECTOR|SET_STEPPER_ENABLE|SET_TEMPERATURE_FAN_TARGET|SET_TMC_CURRENT|SET_TMC_FIELD|SET_VELOCITY_LIMIT|SET_Z_THERMAL_ADJUST|SHAPER_CALIBRATE|SKEW_PROFILE|STATUS|STEPPER_BUZZ|SYNC_EXTRUDER_MOTION|SYNC_STEPPER_TO_EXTRUDER|TEMPERATURE_WAIT|TEST_RESONANCES|TESTZ|TUNING_TOWER|TURN_OFF_HEATERS|UPDATE_DELAYED_GCODE|Z_ENDSTOP_CALIBRATE|Z_OFFSET_APPLY_ENDSTOP|Z_OFFSET_APPLY_PROBE|Z_TILT_ADJUST)\\s"
201
"gcode_extended_parameter": {
202
"begin": "(?i)\\b(AC|ACCEL|ACCEL_TO_DECEL|AD|ADAPTIVE|ADAPTIVE_MARGIN|ADVANCE|ANGLE|AXIS|BAND|BD|BLUE|CARRIAGE|CENTER|CHIP|CHIPS|CLEAR|COMMAND|COUNT|CURRENT|CURRENT_LAYER|CYCLE_TIME|DAMPING_RATIO_X|DAMPING_RATIO_Y|DIGIPOT|DIRECTION|DISPLAY|DISTANCE|DURATION|E|ENABLE|ERROR|EXTRUDER|F|FACTOR|FAN|FIELD|FILENAME|FREQ_END|FREQ_START|GREEN|GROUP|HEATER|HOLDCURRENT|HORIZONTAL_MOVE_Z|HZ_PER_SEC|ID|INDEX|INPUT_SHAPING|JSON|LED|LIFT_SPEED|LOAD|MACRO|MAX_DEVIATION|MAX_SMOOTHING|MAX_SPEED|MAXIMUM|METHOD|MIN_SPEED|MINIMUM|MINIMUM_CRUISE_RATIO|MODE|MOTION_QUEUE|MOVE|MOVE_SPEED|MSG|NAME|OUTPUT|P|PARAMETER|PGP|PIN|POINT|POLYGON|PREFIX|PROBE_SPEED|PROFILE|PULLUP|RATE|RECOVERY_TIME|RED|REF_TEMP|REG|REGISTER|REMOVE|RESET|RETRACT_LENGTH|RETRACT_SPEED|S|SAMPLE_COUNT|SAMPLE_RETRACT_DIST|SAMPLES|SAMPLES_RESULT|SAMPLES_TOLERANCE|SAMPLES_TOLERANCE_RETRIES|SAVE|SENSITIVITY|SENSOR|SERVO|SET_POSITION|SHAPER_FREQ_X|SHAPER_FREQ_Y|SHAPER_TYPE|SHAPER_TYPE_X|SHAPER_TYPE_Y|SKIP|SMOOTH_TIME|SPEED|SQUARE_CORNER_VELOCITY|START|STEP_DELTA|STEP_HEIGHT|STEPPER|STOP_ON_ENDSTOP|SYNC|T|TARGET|TEMP_COEFF|TEMPERATURE_FAN|TEMPLATE|TIMEOUT|TOTAL_LAYER|TRANSMIT|TYPE|UNRETRACT_EXTRA_LENGTH|UNRETRACT_SPEED|VAL|VALUE|VARIABLE|VELOCITY|WHITE|WIDTH|WIPER|WRITE_FILE|X|X_ADJUST|XY|XZ|Y|Y_ADJUST|YZ|Z|Z_ADJUST|ZFADE)=",
205
"name": "variable.parameter"
211
"name": "constant.language",
212
"match": "(?i)(5V|average|ccw|command|copy|cw|echo|error|manual|median|mirror|OD|output_mode_store|pin_down|pin_up|primary|reset|self_test|set_5V_output_mode|set_OD_output_mode|touch_mode)"
218
"include": "#gcode_macro_block"
222
"gcode_macro_block": {
223
"name": "string.unquoted",
228
"scopeName": "source.klipper-config"