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,