private static string ParseArg(Environment e) { e.Check(e.Peek() == '-', "Invalid beginning of Key construct"); var arg = ParseName(e, false); while (!e.EOL() && e.Peek() == ':') { e.Advance(); arg += ":"; arg += ParseName(e, e.Peek() == '"').Replace(":", "|Colon|"); //Dirtyfix } return(arg); }