[latexila] Latexmk pp: improve the regex



commit 12efb6f63c90e16c76a8f7447c1c254e44cf18dc
Author: SÃbastien Wilmet <swilmet src gnome org>
Date:   Sat Jul 30 14:14:49 2011 +0200

    Latexmk pp: improve the regex

 src/post_processors.vala |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/src/post_processors.vala b/src/post_processors.vala
index 839ada4..7ee6701 100644
--- a/src/post_processors.vala
+++ b/src/post_processors.vala
@@ -191,25 +191,26 @@ private class LatexmkPostProcessor : GLib.Object, PostProcessor
 
         try
         {
-            string reg_rule_str = "^-{12}\\R";
+            string ungreedy_lines = "((?U)(.*\\R)*)";
+
+            string reg_rule_str = "-{12}\\R";
             reg_rule_str += "(?P<line>Run number \\d+ of rule '(?P<rule>.*)')\\R";
             reg_rule_str += "(-{12}\\R){2}";
             reg_rule_str += "Running '(?P<cmd>.*)'\\R";
             reg_rule_str += "-{12}\\R";
-            reg_rule_str += "((?U)(.*\\R)*)"; // ungreedy
-            reg_rule_str += "Latexmk: applying rule .*\\R";
+            reg_rule_str += ungreedy_lines;
+            reg_rule_str += "(Latexmk: applying rule .*\\R)+";
             reg_rule_str += "(For rule '.*', running .*\\R)?";
-            reg_rule_str += "(?P<output>(?U)(.*\\R)*)"; // ungreedy
+            reg_rule_str += "(?P<output>" + ungreedy_lines + ")";
             reg_rule_str += "(Latexmk:|Rule '.*':)";
 
-            reg_rule = new Regex (reg_rule_str,
-                RegexCompileFlags.MULTILINE | RegexCompileFlags.OPTIMIZE);
+            reg_rule = new Regex (reg_rule_str, RegexCompileFlags.OPTIMIZE);
 
-            string reg_no_rule_str = "^(Latexmk: This is Latexmk.*\\R)?";
+            string reg_no_rule_str = "(Latexmk: This is Latexmk.*\\R)?";
             reg_no_rule_str += "(\\*{4} Report bugs.*\\R)?";
             reg_no_rule_str += "(?P<output>(.*\\R)*)";
 
-            reg_no_rule = new Regex (reg_no_rule_str, RegexCompileFlags.MULTILINE);
+            reg_no_rule = new Regex (reg_no_rule_str);
         }
         catch (RegexError e)
         {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]