public static ParsedCommands ParseUntrustedCommands(string cmdLineString) { var commands = new ParsedCommands(); var parsedArgs = Parse(cmdLineString); foreach (var kvp in parsedArgs) { Debug.WriteLine("arg {0} = {1}", kvp.Key, kvp.Value); var command = new ParsedCommand(); switch (kvp.Key) { case "-Directory": command.Type = ParsedCommandType.OpenDirectory; break; default: command.Type = ParsedCommandType.Unkwon; break; } command.Payload = kvp.Value; commands.Add(command); } return(commands); }
public static ParsedCommands ParseUntrustedArgs(string cmdLineString) { ParsedCommands commands = new ParsedCommands(); Parse(cmdLineString); foreach (KeyValuePair <string, string> kvp in ParsedArgs) { Debug.WriteLine("arg {0} = {1}", kvp.Key, kvp.Value); ParsedCommand command = new ParsedCommand(); switch (kvp.Key) { case "SelectItem": command.Type = ParsedCommandType.SelectItem; break; case "LoadConfig": command.Type = ParsedCommandType.LoadConfig; break; case "LoadFile": command.Type = ParsedCommandType.LoadFile; break; default: command.Type = ParsedCommandType.Unknown; break; } command.Payload = kvp.Value; commands.Add(command); } return(commands); }
private static ParsedCommands ParseSplitArguments(List <KeyValuePair <string, string[]> > parsedArgs) { var commands = new ParsedCommands(); foreach (var kvp in parsedArgs) { Debug.WriteLine("arg {0} = {1}", kvp.Key, kvp.Value); var command = new ParsedCommand(); switch (kvp.Key) { case string s when "Directory".Equals(s, StringComparison.OrdinalIgnoreCase): command.Type = ParsedCommandType.OpenDirectory; break; case string s when "OutputPath".Equals(s, StringComparison.OrdinalIgnoreCase): command.Type = ParsedCommandType.OutputPath; break; case string s when "Select".Equals(s, StringComparison.OrdinalIgnoreCase): command.Type = ParsedCommandType.SelectItem; break; case string s when "Tag".Equals(s, StringComparison.OrdinalIgnoreCase): command.Type = ParsedCommandType.TagFiles; break; default: //case "Cmdless": try { if (kvp.Value[0].StartsWith("::{", StringComparison.Ordinal) || kvp.Value[0].StartsWith("shell:", StringComparison.OrdinalIgnoreCase)) { command.Type = ParsedCommandType.ExplorerShellCommand; } else if (Path.IsPathRooted(kvp.Value[0])) { command.Type = ParsedCommandType.OpenPath; } else { command.Type = ParsedCommandType.Unknown; } } catch (Exception ex) { Debug.WriteLine($"Exception in CommandLineParser.cs\\ParseUntrustedCommands with message: {ex.Message}"); command.Type = ParsedCommandType.Unknown; } break; } command.Args.AddRange(kvp.Value); commands.Add(command); } return(commands); }
public static ParsedCommands ParseUntrustedArgs(string cmdLineString) { ParsedCommands commands = new ParsedCommands(); Parse(cmdLineString); foreach (KeyValuePair <string, string> kvp in ParsedArgs) { commands.Add(kvp); } return(commands); }
private static ParsedCommands ParseSplitArguments(List <KeyValuePair <string, string> > parsedArgs) { var commands = new ParsedCommands(); foreach (var kvp in parsedArgs) { Debug.WriteLine("arg {0} = {1}", kvp.Key, kvp.Value); var command = new ParsedCommand(); switch (kvp.Key) { case "-Directory": command.Type = ParsedCommandType.OpenDirectory; break; default: //case "-Cmdless": try { if (kvp.Value.StartsWith("::{") || kvp.Value.StartsWith("shell:")) { command.Type = ParsedCommandType.ExplorerShellCommand; } else if (Path.IsPathRooted(kvp.Value)) { command.Type = ParsedCommandType.OpenPath; } else { command.Type = ParsedCommandType.Unknown; } } catch (Exception ex) { Debug.WriteLine($"Exception in CommandLineParser.cs\\ParseUntrustedCommands with message: {ex.Message}"); command.Type = ParsedCommandType.Unknown; } break; } command.Payload = kvp.Value; commands.Add(command); } return(commands); }