pike.git / lib / modules / Arg.pmod

version» Context lines:

pike.git/lib/modules/Arg.pmod:105:    protected string _sprintf(int t)    {    if( t!='O' ) return UNDEFINED;    if( !next )    return __sprintf();    else    return sprintf("%s|%O", __sprintf(), next);    }    }    +  //! Wrapper class that converts the option argument to an integer. +  //! @example +  //! Opt foo = Int(HasOpt("--foo")|Default(4711)); +  class Int(Opt opt) +  { +  inherit Opt; +  +  mixed get_value(array(string) argv, mapping(string:string) env, +  mixed previous) +  { +  return (int)opt->get_value(argv, env, previous); +  } +  +  array(string) get_opts() +  { +  return opt->get_opts(); +  } +  +  protected this_program `|(mixed thing) +  { +  error("OR:ing Int objects not supported.\n"); +  } +  +  protected string _sprintf(int t) +  { +  return t=='O' && sprintf("%O(%O)", this_program, opt); +  } +  } +     //! Parses an option without parameter, such as --help, -x or "x"    //! from -axb.    //!    //! @example    //! Opt verbose = NoOpt("-v")|NoOpt("--verbose");    class NoOpt    {    inherit Opt;    protected string opt;    protected int double;
pike.git/lib/modules/Arg.pmod:201:    }    }       //! Default value for a setting.    //!    //! @example    //! Opt output = HasOpt("-o")|Default("a.out");    class Default    {    inherit Opt; -  protected string value; +  protected mixed value;    -  protected void create(string _value) +  protected void create(mixed _value)    {    value = _value;    }    -  string get_value(array(string) argv, mapping(string:string) env, +  mixed get_value(array(string) argv, mapping(string:string) env,    mixed previous)    {    return value;    }       protected string __sprintf()    {    return sprintf("Arg.Default(%O)", value);    }    }
pike.git/lib/modules/Arg.pmod:507:    protected mixed `->(string id)    {    return values[id];    }       //!    protected int(0..1)|string unhandled_argument(array(string) argv,    mapping(string:string) env)    {    if( !sizeof(argv) || argv[0]!="--help" ) return 0; +  if(!values->help) values->help=1;       string s = index("help_pre");    if( s )    write( s+"\n" );       foreach(opts; string i; Opt opt)    {    write( opt->get_opts()*", " + "\n");    s = index(i+"_help");    if( s )