diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs index 2e02794..63d6675 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs @@ -461,10 +461,11 @@ public partial class SharpIdeCodeEdit : CodeEdit }; var isKeyword = wellKnownTags.Contains(WellKnownTags.Keyword); var isExtensionMethod = wellKnownTags.Contains(WellKnownTags.ExtensionMethod); - var icon = GetIconForCompletion(symbolKind, typeKind, accessibilityModifier, isKeyword, isExtensionMethod); + var isMethod = wellKnownTags.Contains(WellKnownTags.Method); + if (symbolKind is null && (isMethod || isExtensionMethod)) symbolKind = SymbolKind.Method; + var icon = GetIconForCompletion(symbolKind, typeKind, accessibilityModifier, isKeyword); AddCodeCompletionOption(godotCompletionType, completionItem.DisplayText, completionItem.DisplayText, icon: icon, value: new RefCountedContainer(new IdeCompletionItem(completionItem, completionsResult.Document))); } - // partially working - displays menu only when caret is what CodeEdit determines as valid UpdateCodeCompletionOptions(true); //RequestCodeCompletion(true); GD.Print($"Found {completionsResult.CompletionList.ItemsList.Count} completions, displaying menu"); diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs index d821271..94d412a 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs @@ -17,10 +17,9 @@ public partial class SharpIdeCodeEdit private readonly Texture2D _enumIcon = ResourceLoader.Load("uid://8mdxo65qepqv"); private readonly Texture2D _delegateIcon = ResourceLoader.Load("uid://c83pv25rdescy"); - private Texture2D? GetIconForCompletion(SymbolKind? symbolKind, TypeKind? typeKind, Accessibility? accessibility, bool isKeyword, bool isExtensionMethod) + private Texture2D? GetIconForCompletion(SymbolKind? symbolKind, TypeKind? typeKind, Accessibility? accessibility, bool isKeyword) { if (isKeyword) return _keywordIcon; - if (isExtensionMethod) return _csharpMethodIcon; var texture = (symbolKind, typeKind, accessibility) switch { (SymbolKind.Method, _, _) => _csharpMethodIcon,