/// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            // get translation
            string?key = input.GetFirstPositionalArg();

            if (string.IsNullOrWhiteSpace(key))
            {
                return(InvariantSets.Empty);
            }
            Translation translation = this.TranslationHelper.Get(key);

            // add tokens
            if (input.HasNamedArgs)
            {
                translation = translation.Tokens(input
                                                 .NamedArgs
                                                 .ToDictionary(p => p.Key, p => this.Stringify(p.Value))
                                                 );
            }

            // add default value
            if (input.NamedArgs.TryGetValue("default", out IInputArgumentValue? defaultValue))
            {
                translation = translation
                              .Default(this.Stringify(defaultValue))
                              .UsePlaceholder(false); // allow setting a blank default
            }

            return(InvariantSets.FromValue(translation));
        }
Exemplo n.º 2
0
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            // get translation
            Translation translation = this.TranslationHelper.Get(input.GetFirstPositionalArg());

            // add tokens
            if (input.HasNamedArgs)
            {
                translation = translation.Tokens(input
                                                 .NamedArgs
                                                 .ToDictionary(p => p.Key, p => this.Stringify(p.Value))
                                                 );
            }

            // add default value
            if (input.NamedArgs.TryGetValue("default", out IInputArgumentValue defaultValue))
            {
                translation = translation
                              .Default(this.Stringify(defaultValue))
                              .UsePlaceholder(false); // allow setting a blank default
            }

            yield return(translation);
        }
Exemplo n.º 3
0
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            yield return(this.TryCalculate(input.GetFirstPositionalArg(), out object result, out _)
                ? (result is IConvertible convertible ? convertible.ToString(CultureInfo.InvariantCulture) : result.ToString())
                : "0");
        }
Exemplo n.º 4
0
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            Translation translation = this.TranslationHelper.Get(input.GetFirstPositionalArg());

            yield return(translation);
        }
Exemplo n.º 5
0
        /// <inheritdoc />
        public override bool TryValidateInput(IInputArguments input, out string error)
        {
            if (!base.TryValidateInput(input, out error))
            {
                return(false);
            }

            if (input.IsReady)
            {
                return(this.TryCalculate(input.GetFirstPositionalArg(), out _, out error));
            }

            return(true);
        }
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            Translation translation = this.TranslationHelper.Get(input.GetFirstPositionalArg());

            if (input.NamedArgs.TryGetValue("default", out IInputArgumentValue defaultValue))
            {
                translation = translation
                              .Default(string.Join(", ", defaultValue.Parsed))
                              .UsePlaceholder(false); // allow setting a blank default
            }

            yield return(translation);
        }
Exemplo n.º 7
0
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            if (input.HasPositionalArgs)
            {
                return(this.TryParseEnum(input.GetFirstPositionalArg(), out Skill skill) && this.SkillLevels.TryGetValue(skill, out int level)
                    ? new[] { level.ToString() }
                    : Enumerable.Empty <string>());
            }
            else
            {
                return(this.SkillLevels
                       .Select(pair => $"{pair.Key}:{pair.Value}")
                       .OrderByHuman());
            }
        }
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            if (input.HasPositionalArgs)
            {
                if (this.TryParseEnum(input.GetFirstPositionalArg(), out Skill skill) && this.SkillLevels.TryGetValue(skill, out int level))
                {
                    yield return(level.ToString());
                }
            }
            else
            {
                foreach (var pair in this.SkillLevels)
                {
                    yield return($"{pair.Key}:{pair.Value}");
                }
            }
        }
        /// <inheritdoc />
        public override IEnumerable <string> GetValues(IInputArguments input)
        {
            this.AssertInput(input);

            if (input.HasPositionalArgs)
            {
                if (this.Values.TryGetValue(input.GetFirstPositionalArg(), out string value))
                {
                    yield return(value);
                }
            }
            else
            {
                foreach (var pair in this.Values)
                {
                    yield return($"{pair.Key}:{pair.Value}");
                }
            }
        }