using System;
namespace Swan.Parsers {
  /// 
  /// Models a verb option.
  /// 
  [AttributeUsage(AttributeTargets.Property)]
  public sealed class VerbOptionAttribute : Attribute {
    /// 
    /// Initializes a new instance of the  class.
    /// 
    /// The name.
    /// name.
    public VerbOptionAttribute(String name) => this.Name = name ?? throw new ArgumentNullException(nameof(name));
    /// 
    /// Gets the name of the verb option.
    /// 
    /// 
    /// Name.
    /// 
    public String Name {
      get;
    }
    /// 
    /// Gets or sets a short description of this command line verb. Usually a sentence summary.
    /// 
    /// 
    /// The help text.
    /// 
    public String HelpText {
      get; set;
    }
    /// 
    public override String ToString() => $"  {this.Name}\t\t{this.HelpText}";
  }
}