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)