diff --git a/testsuite/tests/lkt/lsp/complete/test.out b/testsuite/tests/lkt/lsp/complete/test.out index 1674d6f6c..fddacb949 100644 --- a/testsuite/tests/lkt/lsp/complete/test.out +++ b/testsuite/tests/lkt/lsp/complete/test.out @@ -1,35 +1,34 @@ Completing ('self.p') - - info: field_kind - - node: field_kind + - as_bare_entity: function_kind + - as_entity: function_kind + - can_reach: function_kind + - child_index: function_kind + - children: function_kind + - children_env: function_kind + - completion_item_kind_to_int: function_kind - example_prop: function_kind - - other_prop: function_kind - - prop: function_kind - - can_reach: function_kind - - child_index: function_kind - - children: function_kind - - children_env: function_kind - - completion_item_kind_to_int: function_kind - full_sloc_image: function_kind + - info: field_kind - is_ghost: function_kind + - is_null: function_kind - next_sibling: function_kind + - node: field_kind - node_env: function_kind + - other_prop: function_kind - parent: function_kind - parents: function_kind - ple_root: function_kind - previous_sibling: function_kind + - prop: function_kind + - singleton: function_kind - text: function_kind + - to_builder: function_kind - token_end: function_kind - token_start: function_kind - unit: function_kind - - as_bare_entity: function_kind - - as_entity: function_kind - - is_null: function_kind - - singleton: function_kind - - to_builder: function_kind Completing ('var3.i') - - prop: function_kind - - other_prop: function_kind - - prop: function_kind + - as_bare_entity: function_kind + - as_entity: function_kind - can_reach: function_kind - child_index: function_kind - children: function_kind @@ -37,21 +36,22 @@ Completing ('var3.i') - completion_item_kind_to_int: function_kind - full_sloc_image: function_kind - is_ghost: function_kind + - is_null: function_kind - next_sibling: function_kind - node_env: function_kind + - other_prop: function_kind - parent: function_kind - parents: function_kind - ple_root: function_kind - previous_sibling: function_kind + - prop: function_kind + - prop: function_kind + - singleton: function_kind - text: function_kind + - to_builder: function_kind - token_end: function_kind - token_start: function_kind - unit: function_kind - - as_bare_entity: function_kind - - as_entity: function_kind - - is_null: function_kind - - singleton: function_kind - - to_builder: function_kind Completing ('Stru') - Address: struct_kind - AnalysisUnit: interface_kind @@ -75,6 +75,7 @@ Completing ('Stru') - ErrorNode: interface_kind - Example: class_kind - FooNode: class_kind + - FooNode: class_kind - InnerEnvAssoc: struct_kind - Int: struct_kind - LexicalEnv: struct_kind @@ -91,7 +92,6 @@ Completing ('Stru') - RefResultInterface: interface_kind - ReferenceInterface: interface_kind - Regexp: struct_kind - - FooNode: class_kind - Sized: interface_kind - SolverDiagnostic: struct_kind - SolverDiagnosticInterface: interface_kind @@ -104,9 +104,9 @@ Completing ('Stru') - TokenNode: interface_kind - TypableNodeInterface: interface_kind - TypeInterface: interface_kind + - __EmptyMetadata: struct_kind + - __EmptyMetadata: struct_kind - __internal: struct_kind - - __EmptyMetadata: struct_kind - - __EmptyMetadata: struct_kind Completing ('v') - Address: struct_kind - AnalysisUnit: interface_kind @@ -130,6 +130,7 @@ Completing ('v') - ErrorNode: interface_kind - Example: class_kind - FooNode: class_kind + - FooNode: class_kind - InnerEnvAssoc: struct_kind - Int: struct_kind - LexicalEnv: struct_kind @@ -146,7 +147,6 @@ Completing ('v') - RefResultInterface: interface_kind - ReferenceInterface: interface_kind - Regexp: struct_kind - - FooNode: class_kind - Sized: interface_kind - SolverDiagnostic: struct_kind - SolverDiagnosticInterface: interface_kind @@ -161,6 +161,8 @@ Completing ('v') - TypeInterface: interface_kind - _: variable_kind - _: variable_kind + - __EmptyMetadata: struct_kind + - __EmptyMetadata: struct_kind - __internal: struct_kind - add_all_to_env: function_kind - add_env: function_kind @@ -181,5 +183,3 @@ Completing ('v') - var1: variable_kind - var2: variable_kind - var3: variable_kind - - __EmptyMetadata: struct_kind - - __EmptyMetadata: struct_kind diff --git a/testsuite/tests/lkt/lsp/complete/test.py b/testsuite/tests/lkt/lsp/complete/test.py index 39b8d6f37..dab7cdd5e 100644 --- a/testsuite/tests/lkt/lsp/complete/test.py +++ b/testsuite/tests/lkt/lsp/complete/test.py @@ -12,20 +12,17 @@ def complete_kind(name: lkt.DefId) -> str: return lkt.CompletionItemKind._c_to_py[name.p_completion_item_kind - 1] -for d in dots: - print(f"Completing {d} ('{d.text}')") - for ci in d.p_complete: - if ci.declaration.f_syn_name is not None: - print( - f" - {ci.declaration.p_full_name}:" - f" {complete_kind(ci.declaration.f_syn_name)}" - ) -ref = refs[-2:] -for r in ref: - print(f"Completing {r} ('{r.text}')") - for ci in r.p_complete: - if ci.declaration.f_syn_name is not None: - print( - f" - {ci.declaration.p_full_name}:" - f" {complete_kind(ci.declaration.f_syn_name)}" - ) +def sorted_complete(n: lkt.LktNode) -> list[lkt.Decl]: + result = [ + ci.declaration + for ci in n.p_complete + if ci.declaration.f_syn_name is not None + ] + result.sort(key=lambda d: d.p_full_name) + return result + + +for n in dots + refs[-2:]: + print(f"Completing {n} ('{n.text}')") + for d in sorted_complete(n): + print(f" - {d.p_full_name}: {complete_kind(d.f_syn_name)}")