@@ -125,7 +125,7 @@ class WarningLogRule(ErrorLogRule):
125125 selector = "meta.warning.log - markup.warning"
126126
127127
128- def parse_log_view (view : sublime .View ) -> tuple [list [str ], list [str ], list [str ]]:
128+ def parse_log_view (view : sublime .View ) -> tuple [list [str ], list [str ], list [str ], int ]:
129129 """
130130 Extract errors, warnings and badbox messages from a `sublime.View`.
131131
@@ -175,15 +175,23 @@ def format_items(items):
175175 for fname , line , msg in sorted (items )
176176 ]
177177
178+ pattern = r"Output written on [^\(]+\(([\d\n]+) pages?\b"
179+ region = view .find (pattern , 0 )
180+ if region and (match := re .match (pattern , view .substr (region ).replace ("\n " , "" ))):
181+ pages = int (match .group (1 ))
182+ else :
183+ pages = 0
184+
178185 # gather log items
179186 return (
180187 format_items (chain (* map (extract_items , (ExceptionLogRule , ErrorLogRule )))),
181188 format_items (extract_items (WarningLogRule )),
182189 format_items (extract_items (BadboxLogRule )),
190+ pages ,
183191 )
184192
185193
186- def parse_log_file (logfile : str | os .PathLike [str ]) -> tuple [list [str ], list [str ], list [str ]]:
194+ def parse_log_file (logfile : str | os .PathLike [str ]) -> tuple [list [str ], list [str ], list [str ], int ]:
187195 """
188196 Extract errors, warnings and badbox messages from tex build log.
189197
0 commit comments