diff --git a/CHANGES.md b/CHANGES.md index 1c84e6e03e..f85d3ecc51 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,7 +6,7 @@ CAVEATS / POTENTIALLY BREAKING CHANGES Core Grammars: -- enh(gml) updated to latest language version [gnysek][] +- enh(gml) updated to latest language version (GML v2024.2) [gnysek][] - enh(c) added more C23 keywords and preprcoessor directives [Eisenwave][] - enh(js/ts) support namespaced tagged template strings [Aral Balkan][] - enh(perl) fix false-positive variable match at end of string [Josh Goebel][] diff --git a/src/languages/gml.js b/src/languages/gml.js index b3d49e91f3..35d3851a86 100644 --- a/src/languages/gml.js +++ b/src/languages/gml.js @@ -43,6 +43,7 @@ export default function(hljs) { "with", "xor" ]; + const BUILT_INS = [ "abs", "alarm_get", @@ -69,12 +70,12 @@ export default function(hljs) { "array_all", "array_any", "array_concat", + "array_contains", + "array_contains_ext", "array_copy", "array_copy_while", "array_create", "array_create_ext", - "array_contains", - "array_contains_ext", "array_delete", "array_equals", "array_filter", @@ -105,14 +106,15 @@ export default function(hljs) { "array_unique_ext", "asset_add_tags", "asset_clear_tags", + "asset_get_ids", "asset_get_index", "asset_get_tags", "asset_get_type", "asset_has_any_tag", "asset_has_tags", "asset_remove_tags", - "audio_bus_create", "audio_bus_clear_emitters", + "audio_bus_create", "audio_bus_get_emitters", "audio_channel_num", "audio_create_buffer_sound", @@ -230,6 +232,7 @@ export default function(hljs) { "buffer_compress", "buffer_copy", "buffer_copy_from_vertex_buffer", + "buffer_copy_stride", "buffer_crc32", "buffer_create", "buffer_create_from_vertex_buffer", @@ -265,6 +268,7 @@ export default function(hljs) { "call_cancel", "call_later", "camera_apply", + "camera_copy_transforms", "camera_create", "camera_create_view", "camera_destroy", @@ -385,6 +389,26 @@ export default function(hljs) { "date_valid_datetime", "date_week_span", "date_year_span", + "db_to_lin", + "dbg_add_font_glyphs", + "dbg_button", + "dbg_checkbox", + "dbg_color", + "dbg_colour", + "dbg_drop_down", + "dbg_same_line", + "dbg_section", + "dbg_section_delete", + "dbg_section_exists", + "dbg_slider", + "dbg_slider_int", + "dbg_sprite", + "dbg_text", + "dbg_text_input", + "dbg_view", + "dbg_view_delete", + "dbg_view_exists", + "dbg_watch", "dcos", "debug_event", "debug_get_callstack", @@ -577,6 +601,7 @@ export default function(hljs) { "ds_grid_set_region", "ds_grid_shuffle", "ds_grid_sort", + "ds_grid_to_mp_grid", "ds_grid_value_disk_exists", "ds_grid_value_disk_x", "ds_grid_value_disk_y", @@ -681,6 +706,8 @@ export default function(hljs) { "effect_clear", "effect_create_above", "effect_create_below", + "effect_create_depth", + "effect_create_layer", "environment_get_variable", "event_inherited", "event_perform", @@ -694,6 +721,7 @@ export default function(hljs) { "extension_get_option_names", "extension_get_option_value", "extension_get_options", + "extension_get_version", "external_call", "external_define", "external_free", @@ -740,8 +768,9 @@ export default function(hljs) { "font_add_sprite_ext", "font_cache_glyph", "font_delete", - "font_exists", + "font_enable_effects", "font_enable_sdf", + "font_exists", "font_get_bold", "font_get_first", "font_get_fontname", @@ -756,8 +785,8 @@ export default function(hljs) { "font_get_uvs", "font_replace_sprite", "font_replace_sprite_ext", - "font_set_cache_size", "font_sdf_spread", + "font_set_cache_size", "frac", "fx_create", "fx_get_name", @@ -768,6 +797,7 @@ export default function(hljs) { "fx_set_parameter", "fx_set_parameters", "fx_set_single_layer", + "game_change", "game_end", "game_get_speed", "game_load", @@ -859,6 +889,7 @@ export default function(hljs) { "gpu_get_colorwriteenable", "gpu_get_colourwriteenable", "gpu_get_cullmode", + "gpu_get_depth", "gpu_get_fog", "gpu_get_state", "gpu_get_tex_filter", @@ -895,6 +926,7 @@ export default function(hljs) { "gpu_set_colorwriteenable", "gpu_set_colourwriteenable", "gpu_set_cullmode", + "gpu_set_depth", "gpu_set_fog", "gpu_set_state", "gpu_set_tex_filter", @@ -920,6 +952,7 @@ export default function(hljs) { "gpu_set_zfunc", "gpu_set_ztestenable", "gpu_set_zwriteenable", + "handle_parse", "highscore_add", "highscore_clear", "highscore_name", @@ -980,11 +1013,15 @@ export default function(hljs) { "is_array", "is_bool", "is_callable", + "is_debug_overlay_open", + "is_handle", "is_infinity", "is_instanceof", "is_int32", "is_int64", + "is_keyboard_used_debug_overlay", "is_method", + "is_mouse_over_debug_overlay", "is_nan", "is_numeric", "is_ptr", @@ -1161,10 +1198,11 @@ export default function(hljs) { "lengthdir_x", "lengthdir_y", "lerp", + "lin_to_db", "ln", "load_csv", - "log2", "log10", + "log2", "logn", "make_color_hsv", "make_color_rgb", @@ -1241,6 +1279,7 @@ export default function(hljs) { "mp_potential_settings", "mp_potential_step", "mp_potential_step_object", + "nameof", "network_connect", "network_connect_async", "network_connect_raw", @@ -1290,19 +1329,27 @@ export default function(hljs) { "part_emitter_burst", "part_emitter_clear", "part_emitter_create", + "part_emitter_delay", "part_emitter_destroy", "part_emitter_destroy_all", + "part_emitter_enable", "part_emitter_exists", + "part_emitter_interval", "part_emitter_region", + "part_emitter_relative", "part_emitter_stream", + "part_particles_burst", "part_particles_clear", "part_particles_count", "part_particles_create", "part_particles_create_color", "part_particles_create_colour", + "part_system_angle", "part_system_automatic_draw", "part_system_automatic_update", "part_system_clear", + "part_system_color", + "part_system_colour", "part_system_create", "part_system_create_layer", "part_system_depth", @@ -1310,7 +1357,9 @@ export default function(hljs) { "part_system_draw_order", "part_system_drawit", "part_system_exists", + "part_system_get_info", "part_system_get_layer", + "part_system_global_space", "part_system_layer", "part_system_position", "part_system_update", @@ -1342,9 +1391,14 @@ export default function(hljs) { "part_type_scale", "part_type_shape", "part_type_size", + "part_type_size_x", + "part_type_size_y", "part_type_speed", "part_type_sprite", "part_type_step", + "part_type_subimage", + "particle_exists", + "particle_get_info", "path_add", "path_add_point", "path_append", @@ -1504,6 +1558,7 @@ export default function(hljs) { "rectangle_in_circle", "rectangle_in_rectangle", "rectangle_in_triangle", + "ref_create", "rollback_chat", "rollback_create_game", "rollback_define_extra_network_latency", @@ -1529,6 +1584,7 @@ export default function(hljs) { "room_duplicate", "room_exists", "room_get_camera", + "room_get_info", "room_get_name", "room_get_viewport", "room_goto", @@ -1642,6 +1698,7 @@ export default function(hljs) { "skeleton_slot_data_instance", "skeleton_slot_list", "sprite_add", + "sprite_add_ext", "sprite_add_from_surface", "sprite_assign", "sprite_collision_mask", @@ -1730,20 +1787,29 @@ export default function(hljs) { "string_upper", "string_width", "string_width_ext", + "struct_exists", + "struct_foreach", + "struct_get", + "struct_get_from_hash", + "struct_get_names", + "struct_names_count", + "struct_remove", + "struct_set", + "struct_set_from_hash", "surface_copy", "surface_copy_part", "surface_create", "surface_create_ext", "surface_depth_disable", "surface_exists", - "surface_free", "surface_format_is_supported", + "surface_free", "surface_get_depth_disable", + "surface_get_format", "surface_get_height", "surface_get_target", "surface_get_target_ext", "surface_get_texture", - "surface_get_format", "surface_get_width", "surface_getpixel", "surface_getpixel_ext", @@ -1768,6 +1834,7 @@ export default function(hljs) { "texture_prefetch", "texture_set_stage", "texturegroup_get_fonts", + "texturegroup_get_names", "texturegroup_get_sprites", "texturegroup_get_status", "texturegroup_get_textures", @@ -1864,6 +1931,8 @@ export default function(hljs) { "uwp_secondarytile_delete", "uwp_secondarytile_pin", "uwp_secondarytile_tile_clear", + "variable_clone", + "variable_get_hash", "variable_global_exists", "variable_global_get", "variable_global_set", @@ -1902,6 +1971,7 @@ export default function(hljs) { "vertex_format_begin", "vertex_format_delete", "vertex_format_end", + "vertex_format_get_info", "vertex_freeze", "vertex_get_buffer_size", "vertex_get_number", @@ -1909,8 +1979,11 @@ export default function(hljs) { "vertex_position", "vertex_position_3d", "vertex_submit", + "vertex_submit_ext", "vertex_texcoord", "vertex_ubyte4", + "vertex_update_buffer_from_buffer", + "vertex_update_buffer_from_vertex", "video_close", "video_draw", "video_enable_loop", @@ -1943,26 +2016,35 @@ export default function(hljs) { "virtual_key_delete", "virtual_key_hide", "virtual_key_show", + "wallpaper_set_config", + "wallpaper_set_subscriptions", "weak_ref_alive", "weak_ref_any_alive", "weak_ref_create", "window_center", "window_device", + "window_enable_borderless_fullscreen", + "window_get_borderless_fullscreen", "window_get_caption", "window_get_color", "window_get_colour", "window_get_cursor", "window_get_fullscreen", "window_get_height", + "window_get_showborder", "window_get_visible_rects", "window_get_width", "window_get_x", "window_get_y", "window_handle", "window_has_focus", + "window_mouse_get_delta_x", + "window_mouse_get_delta_y", + "window_mouse_get_locked", "window_mouse_get_x", "window_mouse_get_y", "window_mouse_set", + "window_mouse_set_locked", "window_set_caption", "window_set_color", "window_set_colour", @@ -1974,6 +2056,7 @@ export default function(hljs) { "window_set_min_width", "window_set_position", "window_set_rectangle", + "window_set_showborder", "window_set_size", "window_view_mouse_get_x", "window_view_mouse_get_y", @@ -1981,15 +2064,28 @@ export default function(hljs) { "window_views_mouse_get_y", "winphone_tile_background_color", "winphone_tile_background_colour", - "zip_unzip" + "zip_add_file", + "zip_create", + "zip_save", + "zip_unzip", + "zip_unzip_async" ]; const SYMBOLS = [ + "AudioEffect", + "AudioEffectType", + "AudioLFOType", "GM_build_date", "GM_build_type", + "GM_is_sandboxed", "GM_project_filename", "GM_runtime_version", "GM_version", "NaN", + "_GMFILE_", + "_GMFUNCTION_", + "_GMLINE_", + "alignmentH", + "alignmentV", "all", "animcurvetype_bezier", "animcurvetype_catmullrom", @@ -2065,18 +2161,18 @@ export default function(hljs) { "buffer_fast", "buffer_fixed", "buffer_grow", - "buffer_s8", "buffer_s16", "buffer_s32", + "buffer_s8", "buffer_seek_end", "buffer_seek_relative", "buffer_seek_start", "buffer_string", "buffer_text", - "buffer_u8", "buffer_u16", "buffer_u32", "buffer_u64", + "buffer_u8", "buffer_vbuffer", "buffer_wrap", "c_aqua", @@ -2101,6 +2197,8 @@ export default function(hljs) { "c_teal", "c_white", "c_yellow", + "cache_directory", + "characterSpacing", "cmpfunc_always", "cmpfunc_equal", "cmpfunc_greater", @@ -2109,6 +2207,8 @@ export default function(hljs) { "cmpfunc_lessequal", "cmpfunc_never", "cmpfunc_notequal", + "coreColor", + "coreColour", "cr_appstart", "cr_arrow", "cr_beam", @@ -2143,6 +2243,8 @@ export default function(hljs) { "display_portrait_flipped", "dll_cdecl", "dll_stdcall", + "dropShadowEnabled", + "dropShadowEnabled", "ds_type_grid", "ds_type_list", "ds_type_map", @@ -2161,11 +2263,14 @@ export default function(hljs) { "ef_snow", "ef_spark", "ef_star", + "effectsEnabled", + "effectsEnabled", "ev_alarm", "ev_animation_end", "ev_animation_event", "ev_animation_update", "ev_async_audio_playback", + "ev_async_audio_playback_ended", "ev_async_audio_recording", "ev_async_dialog", "ev_async_push_notification", @@ -2180,6 +2285,7 @@ export default function(hljs) { "ev_async_web_networking", "ev_async_web_steam", "ev_audio_playback", + "ev_audio_playback_ended", "ev_audio_recording", "ev_boundary", "ev_boundary_view0", @@ -2311,6 +2417,12 @@ export default function(hljs) { "ev_trigger", "ev_user0", "ev_user1", + "ev_user10", + "ev_user11", + "ev_user12", + "ev_user13", + "ev_user14", + "ev_user15", "ev_user2", "ev_user3", "ev_user4", @@ -2319,12 +2431,6 @@ export default function(hljs) { "ev_user7", "ev_user8", "ev_user9", - "ev_user10", - "ev_user11", - "ev_user12", - "ev_user13", - "ev_user14", - "ev_user15", "ev_web_async", "ev_web_cloud", "ev_web_iap", @@ -2337,18 +2443,26 @@ export default function(hljs) { "fa_center", "fa_directory", "fa_hidden", - "fa_none", "fa_left", "fa_middle", + "fa_none", "fa_readonly", "fa_right", "fa_sysfile", "fa_top", "fa_volumeid", "false", + "frameSizeX", + "frameSizeY", "gamespeed_fps", "gamespeed_microseconds", "global", + "glowColor", + "glowColour", + "glowEnabled", + "glowEnabled", + "glowEnd", + "glowStart", "gp_axis_acceleration_x", "gp_axis_acceleration_y", "gp_axis_acceleration_z", @@ -2435,6 +2549,7 @@ export default function(hljs) { "leaderboard_type_time_mins_secs", "lighttype_dir", "lighttype_point", + "lineSpacing", "m_axisx", "m_axisx_gui", "m_axisy", @@ -2456,7 +2571,9 @@ export default function(hljs) { "mip_on", "network_config_avoid_time_wait", "network_config_connect_timeout", + "network_config_disable_multicast", "network_config_disable_reliable_udp", + "network_config_enable_multicast", "network_config_enable_reliable_udp", "network_config_use_non_blocking_socket", "network_config_websocket_protocol", @@ -2518,6 +2635,12 @@ export default function(hljs) { "os_xboxone", "os_xboxseriesxs", "other", + "outlineColor", + "outlineColour", + "outlineDist", + "outlineEnabled", + "outlineEnabled", + "paragraphSpacing", "path_action_continue", "path_action_restart", "path_action_reverse", @@ -2584,6 +2707,8 @@ export default function(hljs) { "ps_distr_gaussian", "ps_distr_invgaussian", "ps_distr_linear", + "ps_mode_burst", + "ps_mode_stream", "ps_shape_diamond", "ps_shape_ellipse", "ps_shape_line", @@ -2654,16 +2779,27 @@ export default function(hljs) { "seqtracktype_spriteframes", "seqtracktype_string", "seqtracktype_text", + "shadowColor", + "shadowColour", + "shadowOffsetX", + "shadowOffsetY", + "shadowSoftness", + "sprite_add_ext_error_cancelled", + "sprite_add_ext_error_decompressfailed", + "sprite_add_ext_error_loadfailed", + "sprite_add_ext_error_setupfailed", + "sprite_add_ext_error_spritenotfound", + "sprite_add_ext_error_unknown", "spritespeed_framespergameframe", "spritespeed_framespersecond", - "surface_rgba8unorm", "surface_r16float", "surface_r32float", - "surface_rgba4unorm", "surface_r8unorm", "surface_rg8unorm", "surface_rgba16float", "surface_rgba32float", + "surface_rgba4unorm", + "surface_rgba8unorm", "texturegroup_status_fetched", "texturegroup_status_loaded", "texturegroup_status_loading", @@ -2671,6 +2807,7 @@ export default function(hljs) { "tf_anisotropic", "tf_linear", "tf_point", + "thickness", "tile_flip", "tile_index_mask", "tile_mirror", @@ -2689,6 +2826,7 @@ export default function(hljs) { "timezone_utc", "tm_countvsyncs", "tm_sleep", + "tm_systemtiming", "true", "ty_real", "ty_string", @@ -2732,6 +2870,9 @@ export default function(hljs) { "vk_enter", "vk_escape", "vk_f1", + "vk_f10", + "vk_f11", + "vk_f12", "vk_f2", "vk_f3", "vk_f4", @@ -2740,9 +2881,6 @@ export default function(hljs) { "vk_f7", "vk_f8", "vk_f9", - "vk_f10", - "vk_f11", - "vk_f12", "vk_home", "vk_insert", "vk_lalt", @@ -2774,7 +2912,10 @@ export default function(hljs) { "vk_space", "vk_subtract", "vk_tab", - "vk_up" + "vk_up", + "wallpaper_config", + "wallpaper_subscription_data", + "wrap" ]; const LANGUAGE_VARIABLES = [ "alarm",