class_name GdUnitShortcut extends RefCounted enum ShortCut { NONE, RUN_TESTS_OVERALL, RUN_TESTCASE, RUN_TESTCASE_DEBUG, RUN_TESTSUITE, RUN_TESTSUITE_DEBUG, RERUN_TESTS, RERUN_TESTS_DEBUG, RERUN_TESTS_UNTIL_FAILURE, STOP_TEST_RUN, CREATE_TEST, } const DEFAULTS_MACOS := { ShortCut.NONE : [], ShortCut.RUN_TESTCASE : [Key.KEY_META, Key.KEY_ALT, Key.KEY_F5], ShortCut.RUN_TESTCASE_DEBUG : [Key.KEY_META, Key.KEY_ALT, Key.KEY_F6], ShortCut.RUN_TESTSUITE : [Key.KEY_ALT, Key.KEY_META, Key.KEY_F5], ShortCut.RUN_TESTSUITE_DEBUG : [Key.KEY_ALT, Key.KEY_META, Key.KEY_F6], ShortCut.RUN_TESTS_OVERALL : [Key.KEY_ALT, Key.KEY_F7], ShortCut.STOP_TEST_RUN : [Key.KEY_ALT, Key.KEY_F8], ShortCut.RERUN_TESTS : [Key.KEY_ALT, Key.KEY_F5], ShortCut.RERUN_TESTS_DEBUG : [Key.KEY_ALT, Key.KEY_F6], ShortCut.RERUN_TESTS_UNTIL_FAILURE : [Key.KEY_ALT, Key.KEY_META, Key.KEY_F5], ShortCut.CREATE_TEST : [Key.KEY_META, Key.KEY_ALT, Key.KEY_F10], } const DEFAULTS_WINDOWS := { ShortCut.NONE : [], ShortCut.RUN_TESTCASE : [Key.KEY_CTRL, Key.KEY_ALT, Key.KEY_F5], ShortCut.RUN_TESTCASE_DEBUG : [Key.KEY_CTRL, Key.KEY_ALT, Key.KEY_F6], ShortCut.RUN_TESTSUITE : [Key.KEY_ALT, Key.KEY_SHIFT, Key.KEY_F5], ShortCut.RUN_TESTSUITE_DEBUG : [Key.KEY_ALT, Key.KEY_SHIFT, Key.KEY_F6], ShortCut.RUN_TESTS_OVERALL : [Key.KEY_ALT, Key.KEY_F7], ShortCut.STOP_TEST_RUN : [Key.KEY_ALT, Key.KEY_F8], ShortCut.RERUN_TESTS : [Key.KEY_ALT, Key.KEY_F5], ShortCut.RERUN_TESTS_DEBUG : [Key.KEY_ALT, Key.KEY_F6], ShortCut.RERUN_TESTS_UNTIL_FAILURE : [Key.KEY_CTRL, Key.KEY_ALT, Key.KEY_F5], ShortCut.CREATE_TEST : [Key.KEY_CTRL, Key.KEY_ALT, Key.KEY_F10], } const SETTINGS_MAPPING: Dictionary[ShortCut, String] = { ShortCut.RUN_TESTCASE : GdUnitSettings.SHORTCUT_EDITOR_RUN_TEST, ShortCut.RUN_TESTCASE_DEBUG : GdUnitSettings.SHORTCUT_EDITOR_RUN_TEST_DEBUG, ShortCut.CREATE_TEST : GdUnitSettings.SHORTCUT_EDITOR_CREATE_TEST, ShortCut.RERUN_TESTS : GdUnitSettings.SHORTCUT_INSPECTOR_RERUN_TEST, ShortCut.RERUN_TESTS_DEBUG : GdUnitSettings.SHORTCUT_INSPECTOR_RERUN_TEST_DEBUG, ShortCut.RERUN_TESTS_UNTIL_FAILURE : GdUnitSettings.SHORTCUT_INSPECTOR_RERUN_TEST_UNTIL_FAILURE, ShortCut.STOP_TEST_RUN : GdUnitSettings.SHORTCUT_INSPECTOR_RUN_TEST_STOP, ShortCut.RUN_TESTS_OVERALL : GdUnitSettings.SHORTCUT_INSPECTOR_RUN_TEST_OVERALL, ShortCut.RUN_TESTSUITE : GdUnitSettings.SHORTCUT_FILESYSTEM_RUN_TEST, ShortCut.RUN_TESTSUITE_DEBUG : GdUnitSettings.SHORTCUT_FILESYSTEM_RUN_TEST_DEBUG } static func as_property(sortcut: ShortCut) -> String: return SETTINGS_MAPPING[sortcut] static func default_keys(shortcut: ShortCut) -> PackedInt32Array: match OS.get_name().to_lower(): 'windows': return DEFAULTS_WINDOWS[shortcut] 'macos': return DEFAULTS_MACOS[shortcut] _: return DEFAULTS_WINDOWS[shortcut]