Skip to content

Commit f1b532a

Browse files
improve EnumArg errors
1 parent 4e4e002 commit f1b532a

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

Code/ArgumentSystem/Arguments/EnumArgument.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using SER.Code.Plugin.Commands.HelpSystem;
66
using SER.Code.ScriptSystem;
77
using SER.Code.TokenSystem.Tokens;
8+
using SER.Code.TokenSystem.Tokens.Interfaces;
89

910
namespace SER.Code.ArgumentSystem.Arguments;
1011

@@ -25,6 +26,11 @@ public DynamicTryGet<TEnum> GetConvertSolution(BaseToken token)
2526
return value;
2627
}
2728

29+
if (token is not IValueToken valToken || valToken.IsConstant)
30+
{
31+
return $"Not a {InputDescription}.";
32+
}
33+
2834
return new(() =>
2935
{
3036
if (InternalConvert(token).HasErrored(out var error, out value))
@@ -57,8 +63,7 @@ public static TryGet<object> Convert(BaseToken token, Script script, Type enumTy
5763
return Enum.Parse(enumType, stringRep, true);
5864
}
5965

60-
return $"Value '{stringRep}' does not represent a valid {enumType.GetAccurateName()} " +
61-
$"enum value.";
66+
return $"Value '{token.RawRep}' is not a {enumType.GetAccurateName()} enum value.";
6267
}
6368

6469
private TryGet<TEnum> InternalConvert(BaseToken token)

0 commit comments

Comments
 (0)