[Mono-list] C# command line parsing library
atsushi at ximian.com
Mon Jan 8 10:39:52 EST 2007
When someone is complaining that some of your code is more or less
useless, it does not mean your code sucks ;-) We often have no
time or concentration to maintain or improve the code, or (probably
for Mono.GetOptions) there is no further actions required due to
lack of feedback. At least you were extensively maintaining mbas
I remember I found something that lacks in Mono.GetOptions when I
was creating tools in indigo stuff (in olive), but don't remember
what it was exactly ... I'll report if I could remember. Right now
we are using Mono.GetOptions there as a shortest solution.
2007-01-08 (月) の 12:38 -0200 に Rafael Teixeira さんは書きました:
> Well, Mono.GetOptions is actively maintained, by me, who created it.
> Aside from the subcommands pattern (like you have for instance in
> cvs/svn client utilities) that I still could not implement, I think it
> solves well the problem it was created to solve, which was to make
> parsing command line options easier, while maintaining consistency with
> the *nix way in the user facet of it and automatically generating a good
> --help listing (one of the most tedious and error prone tasks while
> coding/maintaining the parsing bits).
> I don't think it has too much limitations, but I would like some bug
> reports for any limitations or lacking features that all of you, users
> and potential users of it, could file to assess what I should improve.
> Direct code/documentation contributions are also welcome.
> Maybe some of the few constraints I added to make applications using it
> behave consistently like most of the command line utilities I use
> everyday in Linux, are too strict to Miguel's taste, but I would rather
> like to hear constructive criticism and make Mono.GetOptions better than
> to have it generically cast as "unmaintained and with too many
> I can be blamed of not documenting properly to show all the things it
> can do (some people couldn't figure out how to turn off some of my
> default restrictions), but in truth Mono.GetOptions is quite flexible.
> I think Miguel would love that I could get back to my first days in
> Mono, when he reputed me as "fast hacker", but chronic depression has
> taken me into a path where I can't focus on things more than a few ours
> before getting distracted with all kinds of self-centered negative
> So you all will need to be a bit more insistent with me, but believe me:
> I still can code, I still can find ingenious solutions to problems, and
> I still can learn.
> Sorry Miguel, I really like you in so many aspects that I think of you
> as a friend and not just as a colleague on the code trenches of open
> source/free software, but I feel like you are disappointed with me, and
> that may be clouding your vision on the prospects of my small
> Or maybe I am the one that is hoping too much on those few lines of
> code, while perhaps not doing my part as best as I could to improve them
> and their usefulness.
> I'm in no position to judge which is closer to truth, and I don't want
> to be in that position, I just hope that Mono.GetOptions, and other
> contributions I still plan to do to open source, can be useful to many
> developers/users and I will do my best for it to happen.
> Rounding it, please evaluate Mono.GetOptions (users and potential users)
> and tell me what would make it more useful. I surely won't turn it into
> a "Swiss army knife" of sorts, but anything that can make it a better
> mainly-declarative tool to the option parsing problem will be discussed
> and hopefully implemented.
> Have Fun,
> On Thu, 2007-01-04 at 12:20 -0500, Miguel de Icaza wrote:
> > Hello,
> > > I think the most standard way to do this is the library
> > > "Mono.GetOptions" (search in google).
> > I actually would not encourage people to use Mono.GetOptions, as it is
> > not actively maintained and has too many limitations.
> > Rolling out your own command line parser is not that hard anyways, and
> > gives you precise control over the interface you give to your users.
> > _______________________________________________
More information about the Mono-list