handle override methods in completions - icon

This commit is contained in:
Matt Parker
2025-10-28 18:24:38 +10:00
parent f94b3f5553
commit d55ad72b08
2 changed files with 4 additions and 4 deletions

View File

@@ -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<IdeCompletionItem>(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");

View File

@@ -17,10 +17,9 @@ public partial class SharpIdeCodeEdit
private readonly Texture2D _enumIcon = ResourceLoader.Load<Texture2D>("uid://8mdxo65qepqv");
private readonly Texture2D _delegateIcon = ResourceLoader.Load<Texture2D>("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,