private static (string Exe, string Args) BootstrapKnife(string command, string verb, string[] arguments, SpoonConfig config) { var passedArguments = arguments.ToList(); if (config.Arguments.ContainsKey($"{command}.{verb}")) { var defaultArguments = config.Arguments[$"{command}.{verb}"].Where(a => !arguments.Contains(a)); passedArguments.AddRange(defaultArguments); } arguments = passedArguments.Select(a => a?.ToLower()).ToArray(); var knifeExe = FsPath.Absolute(Location.Workspace(), config.KnifeExe); var knifeConfig = FsPath.Absolute(Location.Workspace(), Directories.Config, config.KnifeConfig); var knifeArgs = $"{command.ToLower()} {verb.ToLower()} {string.Join(" ", arguments)} -c '{knifeConfig}' -F json"; return(knifeExe, knifeArgs); }