[latexila] Latexmk pp: extract Latexmk messages too
- From: SÃbastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [latexila] Latexmk pp: extract Latexmk messages too
- Date: Sun, 31 Jul 2011 00:07:59 +0000 (UTC)
commit ca8b8372a645e0d1735bba722511600ba15f8c3c
Author: SÃbastien Wilmet <swilmet src gnome org>
Date: Sun Jul 31 02:02:33 2011 +0200
Latexmk pp: extract Latexmk messages too
Because sometimes the Latexmk messages are very useful. For example:
Latexmk: I WON'T RUN 'bibtex test' because I don't find the following
files: 'DataBase.bib'
src/post_processors.vala | 19 +++++++++++++++----
1 files changed, 15 insertions(+), 4 deletions(-)
---
diff --git a/src/post_processors.vala b/src/post_processors.vala
index 4fc487b..76ef613 100644
--- a/src/post_processors.vala
+++ b/src/post_processors.vala
@@ -185,8 +185,7 @@ private class LatexmkPostProcessor : PostProcessor
{
string ungreedy_lines = "((?U)(.*\\R)*)";
- string reg_rule_str = "-{12}\\R";
- reg_rule_str += "(?P<title>Run number \\d+ of rule '(?P<rule>.*)')\\R";
+ string reg_rule_str = "(?P<title>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";
@@ -194,7 +193,8 @@ private class LatexmkPostProcessor : PostProcessor
reg_rule_str += "(Latexmk: applying rule .*\\R)+";
reg_rule_str += "(For rule '.*', running .*\\R)?";
reg_rule_str += "(?P<output>" + ungreedy_lines + ")";
- reg_rule_str += "(Latexmk:|Rule '.*':)";
+ reg_rule_str += "(?P<latexmk>(Latexmk:|Rule '.*':)" + ungreedy_lines + ")";
+ reg_rule_str += "(-{12}\\R|$)"; // the $ matches only the end of the string
_reg_rule = new Regex (reg_rule_str, RegexCompileFlags.OPTIMIZE);
@@ -264,6 +264,16 @@ private class LatexmkPostProcessor : PostProcessor
else
_all_messages.append ((owned) cmd_messages);
+ /* Latexmk output */
+ string latexmk_output = match_info.fetch_named ("latexmk");
+ PostProcessor all_output_pp = new AllOutputPostProcessor ();
+ all_output_pp.process (file, latexmk_output);
+ Node<BuildMsg?> latexmk_messages = all_output_pp.get_messages ();
+
+ title_msg.text = _("Latexmk messages");
+ latexmk_messages.data = title_msg;
+ _all_messages.append ((owned) latexmk_messages);
+
try
{
match_info.next ();
@@ -282,7 +292,8 @@ private class LatexmkPostProcessor : PostProcessor
latex_pp.process (file, last_latex_output);
Node<BuildMsg?> latex_messages = latex_pp.get_messages ();
- bool last_cmd_is_latex_cmd = _all_messages.last_child () == last_latex_node;
+ bool last_cmd_is_latex_cmd =
+ _all_messages.last_child ().prev_sibling () == last_latex_node;
// Almost all the time, the user wants to see only the latex output.
// If an error has occured, we verify if the last command was a latex command.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]