From eac9111c1f5d4681831e468a47cbae65fb1e58b2 Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Sun, 12 Oct 2025 14:19:27 +1000 Subject: [PATCH] Update NamedTypeTooltip.cs --- .../SymbolTooltips/NamedTypeTooltip.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/NamedTypeTooltip.cs b/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/NamedTypeTooltip.cs index af5e1a3..4585dd4 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/NamedTypeTooltip.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/NamedTypeTooltip.cs @@ -19,6 +19,7 @@ public static partial class SymbolInfoComponents label.AddVirtualModifier(symbol); label.AddAbstractModifier(symbol); label.AddOverrideModifier(symbol); + label.AddNamedTypeSymbolType(symbol); label.AddNamedTypeSymbolName(symbol); label.AddInheritedTypes(symbol); label.AddContainingNamespaceAndClass(symbol); @@ -36,6 +37,22 @@ public static partial class SymbolInfoComponents label.AddType(symbol); } + private static void AddNamedTypeSymbolType(this RichTextLabel label, INamedTypeSymbol symbol) + { + label.PushColor(CachedColors.KeywordBlue); + switch (symbol.TypeKind) + { + case TypeKind.Class: label.AddText("class"); break; + case TypeKind.Struct: label.AddText("struct"); break; + case TypeKind.Interface: label.AddText("interface"); break; + case TypeKind.Enum: label.AddText("enum"); break; + case TypeKind.Delegate: label.AddText("delegate"); break; + default: label.AddText(symbol.TypeKind.ToString().ToLowerInvariant()); break; + } + label.Pop(); + label.AddText(" "); + } + private static void AddInheritedTypes(this RichTextLabel label, INamedTypeSymbol symbol) { if (symbol.BaseType is not null && symbol.BaseType.SpecialType != SpecialType.System_Object)