tex_log_parser 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6d2c2a92c84683d3392c7372ea2a3920d14a285193aedfd96deffdb2298a9d1a
4
- data.tar.gz: 8e700667425901781af7e0a4d297fc92973502d7da6e2fc266ba40d8937202ae
3
+ metadata.gz: 28e9ec16cce7e4b9235b4869500949e5428e396fa90433d39f815ec043bc5c85
4
+ data.tar.gz: ec53f7883d2c0f2d0fa907e0c5735351fd134c34de6ef43aa72398db817eee78
5
5
  SHA512:
6
- metadata.gz: b8895e5afd489068f5f6eb20974ca1beca2838d87499c4193d68f2d6bffa0b5e8323d021a16fdd4624e24f0de9650617b6d26d4c4a4a89736068828806fb847d
7
- data.tar.gz: 03f913573f1e1cfc49ea63a196b88deae53f314cadbe49b22aa04b13e24d36878822ec737b0d22c2e6ea8f06add4fe8a4dee23a0036c92cbcdedb0bc07caadd7
6
+ metadata.gz: 2e86c1b1dcc3a89f234efbc5c63a6edc83e0d52fcfadbe5fd07abf3d39bcdbb3134a050a3ab7f6562a7991120f93ab920ba9f2964b007fa06aae7c08a1ad366c
7
+ data.tar.gz: 5d9422595057cf972305896c5ba25852b35d5fc18cfe93b1cd9f4640de8fc12b323911281eb1c4ed3d46b675be8a6ba0fffedb46dccc73dfa77a29c326ea2eea
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class TexLogParser
4
- # Matches messages of these forms:
4
+ # Matches messages as produces by LaTeX 3, i.e. those of these forms:
5
5
  #
6
6
  # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7
7
  # !
@@ -38,17 +38,30 @@ class TexLogParser
38
38
  # .
39
39
  # . Defining command \fontspec with sig. 'O{}mO{}' on line 472.
40
40
  # .................................................
41
+ #
42
+ # and
43
+ #
44
+ # *************************************************
45
+ # * widows-and-orphans warning: "orphan-widow"
46
+ # *
47
+ # * Orphan on page 1 (second column) and widow on page 2 (first column)
48
+ # *************************************************
41
49
  class HighlightedMessages
42
50
  include LogParser::RegExpPattern
43
51
 
44
52
  # Creates a new instance.
45
53
  def initialize
46
- super(/^(!{3,}|\.{3,})$/,
54
+ super(/^(!{3,}|\.{3,}|\*{3,})$/,
47
55
  { pattern: lambda { |m|
48
- if m[1][0] == '!'
56
+ case m[1][0]
57
+ when '!'
49
58
  /^l\.(\d+)/
50
- else
59
+ when '*'
60
+ /^\*{3,}\s*$/
61
+ when '.'
51
62
  /^\.{3,}\s*$/
63
+ else
64
+ raise("Expected one of `[!.*]` but found: #{m[1][0]}")
52
65
  end
53
66
  },
54
67
  until: :match,
@@ -89,14 +102,14 @@ class TexLogParser
89
102
  msg.source_lines = { from: line, to: line }
90
103
  end
91
104
 
92
- msg.level = :info
105
+ msg.level = @start_match[1][0] == '*' ? :warning : :info
93
106
 
94
107
  msg.message.gsub!(@end_match[0], '')
95
108
  end
96
109
 
97
110
  msg.preformatted = true
98
- msg.message.gsub!(@start, '')
99
- msg.message.gsub!(/^#{@start_match[1][0]}\s+/, '')
111
+ msg.message.sub!(@start, '')
112
+ msg.message.gsub!(/^#{Regexp.escape(@start_match[1][0])}\s+/, '')
100
113
  msg.message.strip!
101
114
 
102
115
  [msg, consumed]
@@ -47,7 +47,10 @@ class TexLogParser
47
47
  msg.source_lines = { from: line, to: line }
48
48
  end
49
49
 
50
- # TODO: message itself contains useless line prefixes --> remove, preformatted = false
50
+ # Remove uninformative line prefixes (e.g. `(tocbasic)`)
51
+ unless @start_match[2].nil?
52
+ msg.message.gsub!(@ending[:pattern][@start_match], ' ' * (@start_match[2].length + 2))
53
+ end
51
54
 
52
55
  [msg, consumed]
53
56
  end
@@ -33,6 +33,9 @@ class TexLogParser
33
33
  msg.level = :error
34
34
  # Remove last line
35
35
  msg.message.gsub!(@ending[:pattern][nil], '')
36
+ # Remove `! ` prefix
37
+ msg.message.sub!(/^!\s*/, '')
38
+ # Remove trailing whitespace
36
39
  msg.message.rstrip!
37
40
 
38
41
  file = @end_match[1]
@@ -3,5 +3,5 @@
3
3
  # @attr [String] VERSION
4
4
  # The version of TexLogParser.
5
5
  class TexLogParser
6
- VERSION = '1.0.1'
6
+ VERSION = '1.1.0'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tex_log_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Raphael Reitzig
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-10 00:00:00.000000000 Z
11
+ date: 2018-09-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: github-markup
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  version: '0'
154
154
  requirements: []
155
155
  rubyforge_project:
156
- rubygems_version: 2.7.6
156
+ rubygems_version: 2.7.7
157
157
  signing_key:
158
158
  specification_version: 4
159
159
  summary: Parses log files of (La)TeX engines