diff --git a/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java b/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java index 51c0a12..56c388e 100644 --- a/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java +++ b/src/main/java/info/istlab/Zemi01/gitmonitor/CommandRunner.java @@ -4,6 +4,10 @@ import java.io.IOException; import java.util.Arrays; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import javax.swing.JOptionPane; public class CommandRunner implements Runnable { public static String prompt = "> "; @@ -43,7 +47,27 @@ public void invoke() { con = mon.console; - gitcommand = "git "+command; + String tmpcommand = new String(command); + // もし[MES]等があったら、入力してもらう + Pattern regex = Pattern.compile("(\\[[A-Za-z]+\\])"); + Matcher m = regex.matcher(tmpcommand); + while(m.find()){ + String initial = ""; + if (m.group().equals("[MES]")) initial = "modified."; + else if (m.group().equals("[REMOTE]")) initial = "origin"; + else if (m.group().equals("[BR]")) initial = "master"; + else if (m.group().equals("[NewBR]")) initial = "work"; + String input = JOptionPane.showInputDialog(mon, "Input "+m.group(), initial); + if (input == null) { + return; + } + System.out.println(input); + tmpcommand = m.replaceFirst(input); + m = regex.matcher(tmpcommand); // これをしないと、2つ目の置換ができない + // String nobrackets = m.group().replace("\\[","").replace("\\]",""); + // tmpcommand = tmpcommand.replace("\\\\["+nobrackets+"\\\\]", input); + } + gitcommand = "git "+tmpcommand; con.setText(""); // if (con != null) // con.frame.setTitle(command + " " + workingDir); diff --git a/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java b/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java index eb00e48..4524e24 100644 --- a/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java +++ b/src/main/java/info/istlab/Zemi01/gitmonitor/GitMonitor.java @@ -29,7 +29,7 @@ targetDir = target; crlist = new ArrayList(); - String[] coms = { "status", "diff", "remote -v", "branch -avv", "log --graph", "commit -am \"[MES]\"", "push", "push --set-upstream origin master", "push --set-upstream [REMOTE] [BR]", "checkout -b [BR]", + String[] coms = { "status", "diff", "remote -v", "branch -avv", "log --graph -n 6", "commit -am \"[MES]\"", "push", "push --set-upstream origin master", "push --set-upstream [REMOTE] [BR]", "checkout -b [NewBR]", "switch [BR]" }; for (String c : coms) { crlist.add(new CommandRunner(c, this));