internal static TemplateException InvalidCharacterInValueName(string template, TemplateToken token, char character) { // Rewrite the token to point to the invalid character instead of the whole value. token = new TemplateToken( token.TokenKind, token.Position + 1 + token.Value.IndexOf(character), token.Value, character.ToString(CultureInfo.InvariantCulture)); return(TemplateExceptionFactory.Create(template, token, $"Encountered invalid character '{character}' in value name.", "Invalid character.")); }
internal static TemplateException OptionNamesCannotStartWithDigit(string template, TemplateToken token) { // Rewrite the token to point to the option name instead of the whole string. token = new TemplateToken( token.TokenKind, token.TokenKind == TemplateToken.Kind.ShortName ? token.Position + 1 : token.Position + 2, token.Value, token.Value); return(TemplateExceptionFactory.Create(template, token, "Option names cannot start with a digit.", "Invalid option name.")); }
internal static TemplateException OptionsMustHaveName(string template, TemplateToken token) { return(TemplateExceptionFactory.Create(template, token, "Options without name are not allowed.", "Missing option name.")); }
internal static TemplateException MultipleValuesAreNotSupported(string template, TemplateToken token) { return(TemplateExceptionFactory.Create(template, token, "Multiple values are not supported.", "Too many values.")); }
internal static TemplateException ArgumentCannotContainOptions(string template, TemplateToken token) { return(TemplateExceptionFactory.Create(template, token, "Arguments can not contain options.", "Not permitted.")); }
internal static TemplateException UnterminatedValueName(string template, TemplateToken token) { return(TemplateExceptionFactory.Create(template, token, $"Encountered unterminated value name '{token.Value}'.", "Unterminated value name.")); }
internal static TemplateException ArgumentsMustHaveValueName(string template) { return(TemplateExceptionFactory.Create(template, null, "Arguments must have a value name.", "Missing value name.")); }
internal static TemplateException MissingLongAndShortName(string template, TemplateToken?token) { return(TemplateExceptionFactory.Create(template, token, "No long or short name for option has been specified.", "Missing option. Was this meant to be an argument?")); }
internal static TemplateException MultipleShortOptionNamesNotAllowed(string template, TemplateToken token) { return(TemplateExceptionFactory.Create(template, token, "Multiple short option names are not supported.", "Too many short options.")); }