From fc7d7d3dae02213d0a8d4b3af24f67017ef18770 Mon Sep 17 00:00:00 2001 From: HolonProduction Date: Mon, 8 Jan 2024 22:46:03 +0100 Subject: [PATCH 1/3] Add test for `get_node` autocompletion --- modules/gdscript/gdscript_editor.cpp | 16 ++++++++++++++- .../scripts/completion/class_a.notest.gd | 8 ++++++++ .../scripts/completion/get_node/get_node.tscn | 19 ++++++++++++++++++ .../get_node/get_node_member_annotated.cfg | 4 ---- .../completion/get_node/literal/dollar.cfg | 7 +++++++ .../completion/get_node/literal/dollar.gd | 5 +++++ .../completion/get_node/literal/percent.cfg | 7 +++++++ .../completion/get_node/literal/percent.gd | 5 +++++ .../literal_scene/dollar_class_scene.cfg | 14 +++++++++++++ .../literal_scene/dollar_class_scene.gd | 5 +++++ .../literal_scene/dollar_native_scene.cfg | 14 +++++++++++++ .../literal_scene/dollar_native_scene.gd | 4 ++++ .../literal_scene/percent_class_scene.cfg | 14 +++++++++++++ .../literal_scene/percent_class_scene.gd | 5 +++++ .../literal_scene/percent_native_scene.cfg | 14 +++++++++++++ .../literal_scene/percent_native_scene.gd | 4 ++++ .../completion/get_node/local/local.cfg | 7 +++++++ .../completion/get_node/local/local.gd | 5 +++++ .../local_interfered/local_interfered.cfg | 7 +++++++ .../local_interfered/local_interfered.gd | 5 +++++ .../class_local_interfered_scene.cfg | 14 +++++++++++++ .../class_local_interfered_scene.gd | 5 +++++ .../native_local_interfered_scene.cfg | 14 +++++++++++++ .../native_local_interfered_scene.gd | 5 +++++ .../local_scene/class_local_scene.cfg | 14 +++++++++++++ .../get_node/local_scene/class_local_scene.gd | 5 +++++ .../local_scene/native_local_scene.cfg | 14 +++++++++++++ .../local_scene/native_local_scene.gd | 5 +++++ .../local_typehint/class_local_typehint.cfg | 12 +++++++++++ .../local_typehint/class_local_typehint.gd | 7 +++++++ .../local_typehint/native_local_typehint.cfg | 12 +++++++++++ .../local_typehint/native_local_typehint.gd | 5 +++++ .../class_local_typehint_scene.cfg | 14 +++++++++++++ .../class_local_typehint_scene.gd | 7 +++++++ .../native_local_typehint_scene.cfg | 14 +++++++++++++ .../native_local_typehint_scene.gd | 5 +++++ .../class_local_typehint_scene_broad.cfg | 14 +++++++++++++ ...class_local_typehint_scene_broad.notest.gd | 6 ++++++ .../native_local_typehint_scene_broad.cfg | 14 +++++++++++++ ...ative_local_typehint_scene_broad.notest.gd | 6 ++++++ ...lass_local_typehint_scene_incompatible.cfg | 20 +++++++++++++++++++ ...class_local_typehint_scene_incompatible.gd | 5 +++++ ...tive_local_typehint_scene_incompatible.cfg | 20 +++++++++++++++++++ ...ative_local_typehint_scene_incompatible.gd | 5 +++++ .../completion/get_node/member/member.cfg | 7 +++++++ .../completion/get_node/member/member.gd | 6 ++++++ .../member_interfered/member_interfered.cfg | 7 +++++++ .../member_interfered/member_interfered.gd | 6 ++++++ .../class_member_interfered_scene.cfg | 14 +++++++++++++ .../class_member_interfered_scene.gd | 6 ++++++ .../native_member_interfered_scene.cfg | 14 +++++++++++++ .../native_member_interfered_scene.gd | 6 ++++++ .../member_scene/class_member_scene.cfg | 14 +++++++++++++ .../member_scene/class_member_scene.gd | 6 ++++++ .../member_scene/native_member_scene.cfg | 14 +++++++++++++ .../member_scene/native_member_scene.gd | 6 ++++++ .../member_typehint/class_member_typehint.cfg | 12 +++++++++++ .../member_typehint/class_member_typehint.gd | 8 ++++++++ .../native_member_typehint.cfg | 12 +++++++++++ .../native_member_typehint.gd} | 2 +- .../class_member_typehint_scene.cfg | 14 +++++++++++++ .../class_member_typehint_scene.gd | 8 ++++++++ .../native_member_typehint_scene.cfg | 14 +++++++++++++ .../native_member_typehint_scene.gd | 6 ++++++ .../class_member_typehint_scene_broad.cfg | 16 +++++++++++++++ .../class_member_typehint_scene_broad.gd | 6 ++++++ .../native_member_typehint_scene_broad.cfg | 16 +++++++++++++++ .../native_member_typehint_scene_broad.gd | 6 ++++++ ...ass_member_typehint_scene_incompatible.cfg | 20 +++++++++++++++++++ ...lass_member_typehint_scene_incompatible.gd | 6 ++++++ ...ive_member_typehint_scene_incompatible.cfg | 20 +++++++++++++++++++ ...tive_member_typehint_scene_incompatible.gd | 6 ++++++ modules/gdscript/tests/test_completion.h | 10 ++++++++++ 73 files changed, 693 insertions(+), 6 deletions(-) create mode 100644 modules/gdscript/tests/scripts/completion/class_a.notest.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/get_node.tscn delete mode 100644 modules/gdscript/tests/scripts/completion/get_node/get_node_member_annotated.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal/dollar.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal/dollar.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal/percent.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal/percent.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_class_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/dollar_native_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_class_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/literal_scene/percent_native_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local/local.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local/local.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered/local_interfered.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/class_local_interfered_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_interfered_scene/native_local_interfered_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_scene/class_local_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_scene/native_local_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint/class_local_typehint.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint/native_local_typehint.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/class_local_typehint_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene/native_local_typehint_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/class_local_typehint_scene_broad.notest.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_broad/native_local_typehint_scene_broad.notest.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/class_local_typehint_scene_incompatible.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/local_typehint_scene_incompatible/native_local_typehint_scene_incompatible.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member/member.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member/member.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered/member_interfered.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/class_member_interfered_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_interfered_scene/native_member_interfered_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_scene/class_member_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_scene/native_member_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint/class_member_typehint.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint/native_member_typehint.cfg rename modules/gdscript/tests/scripts/completion/get_node/{get_node_member_annotated.gd => member_typehint/native_member_typehint.gd} (82%) create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/class_member_typehint_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene/native_member_typehint_scene.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/class_member_typehint_scene_broad.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_broad/native_member_typehint_scene_broad.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/class_member_typehint_scene_incompatible.gd create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.cfg create mode 100644 modules/gdscript/tests/scripts/completion/get_node/member_typehint_scene_incompatible/native_member_typehint_scene_incompatible.gd diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index babd2c177210..bc3d82062d02 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -1125,19 +1125,31 @@ static void _find_identifiers_in_base(const GDScriptCompletionIdentifier &p_base base_type = GDScriptParser::DataType(); } break; case GDScriptParser::DataType::SCRIPT: { + print_line("identifier script"); Ref