From 7e6f3d52da2e31a5aa88d0c2a1687735d29baf22 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Tue, 28 Oct 2025 18:03:47 +1000 Subject: [PATCH] handle extension method icon --- src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs | 3 ++- .../Features/CodeEditor/SharpIdeCodeEdit_Completions.cs | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs index b2a0d07..922ea26 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit.cs @@ -465,8 +465,9 @@ public partial class SharpIdeCodeEdit : CodeEdit _ => CodeCompletionKind.PlainText }; var isKeyword = wellKnownTags.Contains(WellKnownTags.Keyword); - var icon = GetIconForCompletion(symbolKind, typeKind, accessibilityModifier, isKeyword); AddCodeCompletionOption(godotCompletionType, completionItem.DisplayText, completionItem.DisplayText, icon: icon, value: new RefCountedContainer(completionItem)); + var isExtensionMethod = wellKnownTags.Contains(WellKnownTags.ExtensionMethod); + var icon = GetIconForCompletion(symbolKind, typeKind, accessibilityModifier, isKeyword, isExtensionMethod); } // partially working - displays menu only when caret is what CodeEdit determines as valid UpdateCodeCompletionOptions(true); diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs index 33dae8c..d821271 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SharpIdeCodeEdit_Completions.cs @@ -16,11 +16,11 @@ public partial class SharpIdeCodeEdit private readonly Texture2D _eventIcon = ResourceLoader.Load("uid://c3upo3lxmgtls"); private readonly Texture2D _enumIcon = ResourceLoader.Load("uid://8mdxo65qepqv"); private readonly Texture2D _delegateIcon = ResourceLoader.Load("uid://c83pv25rdescy"); - // delegate - private Texture2D? GetIconForCompletion(SymbolKind? symbolKind, TypeKind? typeKind, Accessibility? accessibility, bool isKeyword) + private Texture2D? GetIconForCompletion(SymbolKind? symbolKind, TypeKind? typeKind, Accessibility? accessibility, bool isKeyword, bool isExtensionMethod) { if (isKeyword) return _keywordIcon; + if (isExtensionMethod) return _csharpMethodIcon; var texture = (symbolKind, typeKind, accessibility) switch { (SymbolKind.Method, _, _) => _csharpMethodIcon,