GeneralCommandLine (@NotNull ExternalDiffSettings.ExternalTool externalTool, @NotNull OutputFile outputFile, @NotNull List<? extends InputFile> inputFiles) { assert inputFiles.size() == 3; Map<String, String> patterns = new HashMap<>(); patterns.put("%1", inputFiles.get(0).getPath()); patterns.put("%2", inputFiles.get(2).getPath()); patterns.put("%3", inputFiles.get(1).getPath()); patterns.put("%4", outputFile.getPath()); return createCommandLine(externalTool.getProgramPath(), externalTool.getArgumentPattern(), patterns); }