private void Parse(IEnumerable<string> options)
{
var oset = new OptionSet()
.Add("?|help|h|HELP|H|Help", h => WriteHelp = true)
.Add("g=|gen=|G=|GEN=|Gen=|Generate=|generate=|GENERATE=",
s => {
SetMainToFalse();
Generate = true;
GenerateString = s.Trim();
})
.Add("l:|list:|L:|LIST:|List:",
s => {
SetMainToFalse();
List = true;
})
.Add("m:|migrate:|M:|MIGRATE:|Migrate:",
s => {
SetMainToFalse();
Migrate = true;
})
.Add("s:|sql:|S:|SQL:|Sql:",
s => {
SetMainToFalse();
Sql = true;
})
.Add("f:|file:|F:|File:|FILE:",
s => {
SetMainToFalse();
File = true;
})
.Add("e|E|ENV|env|Env", e => {SetMainToFalse();Env = true;})
.Add("all", a => All = true)
.Add("single", s => Single = true)
.Add("dp", dp => Deployed = true)
.Add("ndp", ndp => NotDeployed = true)
.Add("screen", s => Screen = true)
.Add("up", u => Up = true)
.Add("down", d => Down = true)
.Add("empty", e => Empty = true)
.Add("reset", r => Reset = true)
.Add("v", v => Verbose = true)
.Add("dir=", s => settings_dir=s)
.Add("cs=", s => settings_cs = s)
.Add("flavor=", s => settings_flavor = s)
.Add("rename=", s => settings_rename = s)
.Add("set=", s => set_current_settings = s)
.Add("add=", s => new_project_name = s)
.Add("init", s => env_init = true)
.Add("remove=", s => remove_project_name = s)
;
Extra = oset.Parse(options);
}