diff --git a/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/Common.cs b/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/Common.cs index 60ad9b6..191151b 100644 --- a/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/Common.cs +++ b/src/SharpIDE.Godot/Features/CodeEditor/SymbolTooltips/Common.cs @@ -357,6 +357,7 @@ public static partial class SymbolInfoComponents _ = symbol switch { {SpecialType: not SpecialType.None} => label.AddSpecialType(symbol), + INamedTypeSymbol {OriginalDefinition.SpecialType: SpecialType.System_Nullable_T} nullableValueTypeSymbol => label.AddNullableValueType(nullableValueTypeSymbol), INamedTypeSymbol namedTypeSymbol => label.AddNamedType(namedTypeSymbol), ITypeParameterSymbol typeParameterSymbol => label.AddTypeParameter(typeParameterSymbol), IArrayTypeSymbol arrayTypeSymbol => label.AddArrayType(arrayTypeSymbol), @@ -409,6 +410,14 @@ public static partial class SymbolInfoComponents label.Pop(); // meta return label; } + + private static RichTextLabel AddNullableValueType(this RichTextLabel label, INamedTypeSymbol symbol) + { + var typeArg = symbol.TypeArguments[0]; + label.AddType(typeArg); + label.AddText("?"); + return label; + } private static RichTextLabel AddTypeParameter(this RichTextLabel label, ITypeParameterSymbol symbol) {