
;; Auto-generated SNAPI.axi built-ins

;; Functions
(call_expression
  function: (identifier) @function.builtin
  (#match? @function.builtin "(?i)^(duetpackcmdheader|duetpackcmdparam|duetpackcmdparamarray|duetpackcmdsimple|duetparsecmdheader|duetparsecmdparam)$"))

;; Constants
(identifier) @constant.builtin
  (#match? @constant.builtin "(?i)^(snapi_axi_version|invalid_number|invalid_string|invalid_enum|duet_min_level_value|duet_max_level_value|power|digit_0|digit_1|digit_2|digit_3|digit_4|digit_5|digit_6|digit_7|digit_8|digit_9|menu_plus_10|menu_enter|vol_up|vol_up_fb|vol_dn|vol_dn_fb|vol_mute|pwr_on|pwr_off|vol_preset|vol_mute_on|vol_mute_fb|device_communicating|data_initialized|power_on|power_fb|menu_cancel|menu_func|menu_up|menu_dn|menu_lt|menu_rt|menu_select|menu_exit|menu_up_lt|menu_up_rt|menu_dn_lt|menu_dn_rt|menu_video|menu_thumbs_dn|menu_thumbs_up|menu_accept|menu_reject|menu_live_tv|menu_sleep|menu_ppv|menu_function|menu_setup|menu_xm|menu_fm|menu_am|menu_clear|menu_back|menu_forward|menu_advance|menu_dimmer|menu_hold|menu_list|menu_lt_paren|menu_rt_paren|menu_underscore|menu_dash|menu_asterisk|menu_dot|menu_pound|menu_comma|menu_dial|menu_conference|menu_plus_100|menu_plus_1000|menu_display|menu_subtitle|menu_info|menu_favorites|menu_continue|menu_return|menu_guide|menu_page_up|menu_page_dn|menu_deck_a_b|menu_tv_vcr|menu_record_speed|menu_program|menu_ab_repeat|menu_help|menu_title|menu_top_menu|menu_zoom|menu_angle|menu_audio|menu_preview_input|menu_send_input|menu_send_graphics|menu_flash|menu_reset|menu_instant_replay|audioproc_level_up|audioproc_level_dn|audioproc_state|audioproc_state_on|audioproc_state_fb|audioproc_preset|audioproc_lvl|play|stop|pause|ffwd|rew|sfwd|srev|record|play_fb|stop_fb|pause_fb|ffwd_fb|rew_fb|sfwd_fb|srev_fb|record_fb|gain_up|gain_dn|gain_up_fb|gain_dn_fb|gain_mute|gain_mute_on|gain_mute_fb|cass_reverse_play|cass_tape_side|cass_tape_side_a|cass_tape_side_a_fb|cass_tape_side_b|cass_tape_side_b_fb|cass_record_mute|cass_record_mute_on|cass_record_mute_fb|search_speed|eject|reset_counter|tape_loaded_fb|record_lock_fb|slow_fwd|slow_rev|slow_fwd_fb|slow_rev_fb|aconf_privacy|aconf_privacy_on|aconf_privacy_fb|aconf_train|dial_redial|dial_off_hook|dial_auto_answer|dial_audible_ring|dial_flash_hook|dial_off_hook_on|dial_off_hook_fb|dial_auto_answer_on|dial_auto_answer_fb|dial_audible_ring_on|dial_audible_ring_fb|vol_lvl|gain_lvl|chan_up|chan_dn|tuner_band|tuner_preset_group|tuner_station_up|tuner_station_dn|tuner_scan_fwd|tuner_scan_rev|tuner_seek_fwd|tuner_seek_rev|tuner_osd|tuner_prev|tilt_up|tilt_up_fb|tilt_dn|tilt_dn_fb|pan_lt|pan_lt_fb|pan_rt|pan_rt_fb|zoom_out|zoom_out_fb|zoom_in|zoom_in_fb|focus_near|focus_near_fb|focus_far|focus_far_fb|auto_focus_on|auto_focus_fb|auto_iris_on|auto_iris_fb|auto_focus|auto_iris|iris_open|iris_open_fb|iris_close|iris_close_fb|cam_preset|zoom_lvl|focus_lvl|iris_lvl|zoom_speed_lvl|focus_speed_lvl|iris_speed_lvl|pan_lvl|tilt_lvl|pan_speed_lvl|tilt_speed_lvl|media_random|media_repeat|media_random_disc_on|media_random_disc_fb|media_random_all_on|media_random_all_fb|media_random_off_on|media_random_off_fb|media_repeat_disc_on|media_repeat_disc_fb|media_repeat_track_on|media_repeat_track_fb|media_repeat_all_on|media_repeat_all_fb|media_repeat_off_on|media_repeat_off_fb|frame_fwd|frame_rev|scan_speed|source_tv1|source_video1|source_video2|source_video3|source_tape1|source_tape2|source_cd1|source_tuner1|source_phono1|source_aux1|source_cycle|disc_next|disc_prev|disc_tray|disc_random|disc_repeat|disc_random_disc_on|disc_random_disc_fb|disc_random_all_on|disc_random_all_fb|disc_random_off_on|disc_random_off_fb|disc_repeat_disc_on|disc_repeat_disc_fb|disc_repeat_track_on|disc_repeat_track_fb|disc_repeat_all_on|disc_repeat_all_fb|disc_repeat_off_on|disc_repeat_off_fb|doccam_light|doccam_lower_light_on|doccam_lower_light_fb|doccam_upper_light_on|doccam_upper_light_fb|aspect_ratio|bright_up|bright_dn|color_up|color_dn|contrast_up|contrast_dn|sharp_up|sharp_dn|tint_up|tint_dn|pic_mute|pic_mute_on|pic_mute_fb|pic_freeze|pic_freeze_on|pic_freeze_fb|pip_pos|pip_swap|pip|pip_on|pip_fb|balance_up|balance_dn|bass_up|bass_dn|treble_up|treble_dn|loudness|loudness_on|loudness_fb|hvac_cool_up|hvac_cool_dn|hvac_heat_up|hvac_heat_dn|hvac_humidify_up|hvac_humidify_dn|hvac_dehumidify_up|hvac_dehumidify_dn|hvac_hold_on|hvac_hold_fb|hvac_lock_on|hvac_lock_fb|hvac_fan|hvac_fan_on|hvac_fan_on_fb|hvac_fan_auto|hvac_fan_auto_fb|hvac_fan_status_fb|hvac_humidify_state|hvac_state|hvac_auto|hvac_auto_fb|hvac_cool|hvac_cool_fb|hvac_heat|hvac_heat_fb|hvac_off|hvac_off_fb|hvac_eheat|hvac_eheat_fb|hvac_cooling_fb|hvac_heating_fb|hvac_cooling2_fb|hvac_eheating_fb|hvac_humidify_auto|hvac_humidify_auto_fb|hvac_dehumidify|hvac_dehumidify_fb|hvac_humidify|hvac_humidify_fb|hvac_humidify_off|hvac_humidify_off_fb|hvac_dehumidifing_fb|hvac_humidifing_fb|hvac_cool_lvl|hvac_heat_lvl|indoor_temp_lvl|outdoor_temp_lvl|indoor_humid_lvl|outdoor_humid_lvl|hvac_humidify_lvl|hvac_dehumidify_lvl|bright_lvl|color_lvl|contrast_lvl|sharp_lvl|tint_lvl|balance_lvl|bass_lvl|treble_lvl|surround_next|surround_prev|cable_ab|cable_b_on|cable_b_fb|lamp_warming_fb|lamp_cooling_fb|lamp_power_fb|motor_stop|motor_stop_fb|motor_open|motor_open_fb|motor_close|motor_close_fb|motor_preset|motor_pos_lvl|keypad_btn1|keypad_btn1_fb|keypad_btn2|keypad_btn2_fb|keypad_btn3|keypad_btn3_fb|keypad_btn4|keypad_btn4_fb|keypad_btn5|keypad_btn5_fb|keypad_btn6|keypad_btn6_fb|keypad_btn7|keypad_btn7_fb|keypad_btn8|keypad_btn8_fb|keypad_btn9|keypad_btn9_fb|keypad_btn10|keypad_btn10_fb|keypad_btn1_blink|keypad_btn1_blink_fb|keypad_btn2_blink|keypad_btn2_blink_fb|keypad_btn3_blink|keypad_btn3_blink_fb|keypad_btn4_blink|keypad_btn4_blink_fb|keypad_btn5_blink|keypad_btn5_blink_fb|keypad_btn6_blink|keypad_btn6_blink_fb|keypad_btn7_blink|keypad_btn7_blink_fb|keypad_btn8_blink|keypad_btn8_blink_fb|keypad_btn9_blink|keypad_btn9_blink_fb|keypad_btn10_blink|keypad_btn10_blink_fb|pool_heat|spa_heat|spa_jets|pool_heat_up|pool_heat_dn|spa_heat_up|spa_heat_dn|pool_pump_on|pool_pump_fb|spa_pump_on|spa_pump_fb|pool_light_on|pool_light_fb|spa_light_on|spa_light_fb|pool_heat_off|pool_heat_off_fb|pool_heater|pool_heater_fb|pool_solar|pool_solar_fb|pool_solar_pref|pool_solar_pref_fb|spa_heat_off|spa_heat_off_fb|spa_heater|spa_heater_fb|spa_solar|spa_solar_fb|spa_solar_pref|spa_solar_pref_fb|spa_jets_off|spa_jets_off_fb|spa_jets_lo|spa_jets_lo_fb|spa_jets_med|spa_jets_med_fb|spa_jets_hi|spa_jets_hi_fb|spa_blower_on|spa_blower_fb|pool_heating|pool_heating_solar|spa_heating|spa_heating_solar|pool_heat_lvl|spa_heat_lvl|pool_temp_lvl|spa_temp_lvl|vconf_privacy|vconf_privacy_on|vconf_privacy_fb|vconf_train|slide_next|slide_prev|multiwin_preset|pan_up|pan_dn|sensor_fb|sensor_value|vproc_preset|weather_force_reading|weather_raining|weather_freezing|weather_bar_rising|weather_bar_falling|weather_hi_temp_lvl|weather_lo_temp_lvl|weather_wind_chill_lvl|weather_heat_index_lvl|weather_dewpoint_lvl|weather_bar_lvl|menu_audio_menu|menu_advanced|hvac_hold|hvac_lock|duet_max_cmd_len|duet_max_param_len|duet_max_hdr_len|duet_ramping_repeat)$")