texsc 0.3.2 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +1 -1
- data/README.md +2 -0
- data/bin/texsc +31 -6
- data/features/cli.feature +1 -1
- data/texsc.gemspec +3 -3
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08fb045de44fe6a3e9d660fd9231b172a26b7905d98241e39d3086d0d2c4f7d9'
|
4
|
+
data.tar.gz: e2c60a9cb1f3daecd4cf69478c81d427f75cc0629767d2193a6691e7ab83c216
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bcee7468fdd0ea4671873b1269e8095a9af24e325daeee1493f4d71c0495816686094b6ce32c1eae9bbd114da7c220165d28e86da907957d13439fca2c2dcd4a
|
7
|
+
data.tar.gz: 9d89d67e6d611e7f83e42df8b40058990052396cea5453bfd37d3e0e027de36fb82c942bb4b2ee2a173c5c89ed2fa67624252723728e3212d6186a59d01b6087
|
data/.rubocop.yml
CHANGED
data/README.md
CHANGED
@@ -14,6 +14,8 @@
|
|
14
14
|
[](https://codecov.io/github/yegor256/texsc?branch=master)
|
15
15
|
[](https://hitsofcode.com/view/github/yegor256/texsc)
|
16
16
|
|
17
|
+
Read this blog post: [_Spell Check Your LaTeX Writings Using GNU Aspell_](https://www.yegor256.com/2020/10/06/latex-spell-checking.html)
|
18
|
+
|
17
19
|
This tool simplies the usage of [GNU aspell](http://aspell.net/)
|
18
20
|
(you must have it installed)
|
19
21
|
for spell-checking of LaTeX files.
|
data/bin/texsc
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
22
|
# SOFTWARE.
|
23
23
|
|
24
|
-
VERSION = '0.
|
24
|
+
VERSION = '0.5.0'
|
25
25
|
|
26
26
|
STDOUT.sync = true
|
27
27
|
|
@@ -32,8 +32,18 @@ require 'slop'
|
|
32
32
|
|
33
33
|
begin
|
34
34
|
log = Loog::REGULAR
|
35
|
+
args = []
|
36
|
+
if File.exist?('.texsc')
|
37
|
+
cfg = File.new('.texsc')
|
38
|
+
body = File.read(cfg)
|
39
|
+
extra = body.split(/\s+/).map(&:strip)
|
40
|
+
args += extra
|
41
|
+
puts "Found #{body.split(/\n/).length} lines in #{File.absolute_path(cfg)}"
|
42
|
+
end
|
43
|
+
args += ARGV
|
44
|
+
|
35
45
|
begin
|
36
|
-
opts = Slop.parse(
|
46
|
+
opts = Slop.parse(args, strict: true, help: true) do |o|
|
37
47
|
o.banner = "Usage (#{VERSION}): texsc [options] files
|
38
48
|
Options are:"
|
39
49
|
o.string '--pws', 'The location of aspell.en.pws file'
|
@@ -60,6 +70,7 @@ Options are:"
|
|
60
70
|
log.debug("PWS with an additional dictionary is here: #{opts[:pws]}")
|
61
71
|
opts[:pws] = File.expand_path(opts[:pws])
|
62
72
|
log.debug("The real path of PWS is: #{opts[:pws]}")
|
73
|
+
raise "The PWS file #{opts[:pws].inspect} is not found" unless File.exist?(opts[:pws])
|
63
74
|
end
|
64
75
|
errors = 0
|
65
76
|
files = 0
|
@@ -73,6 +84,14 @@ Options are:"
|
|
73
84
|
tex = tex.gsub(/\\begin{#{Regexp.escape(i[:cmd])}}.+\\end{#{Regexp.escape(i[:cmd])}}/m, '')
|
74
85
|
end
|
75
86
|
log.info("Checking #{f} (#{tex.length} chars)...")
|
87
|
+
log.debug(
|
88
|
+
tex.split("\n").each_with_index.map do |t, i|
|
89
|
+
if t.start_with?('---')
|
90
|
+
log.info("Line #{i + 1} starts with '---', this may lead to unexpected errors")
|
91
|
+
end
|
92
|
+
format('%<pos>4d: %<line>s', pos: i + 1, line: t)
|
93
|
+
end.join("\n")
|
94
|
+
)
|
76
95
|
cmd = [
|
77
96
|
'aspell',
|
78
97
|
"--ignore=#{opts['min-word-length']}",
|
@@ -93,10 +112,16 @@ Options are:"
|
|
93
112
|
raise "Failed to run aspell, exit code is #{status}"
|
94
113
|
end
|
95
114
|
out = stdout.read
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
115
|
+
if out.nil?
|
116
|
+
log.info('aspell produced no output, hm...')
|
117
|
+
else
|
118
|
+
lines = out.split("\n")
|
119
|
+
log.debug("aspell produced #{lines.length} lines of output")
|
120
|
+
lines.each_with_index do |t, i|
|
121
|
+
if t.start_with?('&')
|
122
|
+
log.info("[#{i}] #{t}")
|
123
|
+
errors += 1
|
124
|
+
end
|
100
125
|
end
|
101
126
|
end
|
102
127
|
end
|
data/features/cli.feature
CHANGED
data/texsc.gemspec
CHANGED
@@ -32,7 +32,7 @@ Gem::Specification.new do |s|
|
|
32
32
|
s.rubygems_version = '2.2'
|
33
33
|
s.required_ruby_version = '>= 2.3'
|
34
34
|
s.name = 'texsc'
|
35
|
-
s.version = '0.
|
35
|
+
s.version = '0.5.0'
|
36
36
|
s.license = 'MIT'
|
37
37
|
s.summary = 'Spell Checker for LaTeX'
|
38
38
|
s.description = 'Simple command-line spell checker for LaTeX documents'
|
@@ -46,8 +46,8 @@ Gem::Specification.new do |s|
|
|
46
46
|
s.extra_rdoc_files = ['README.md', 'LICENSE.txt']
|
47
47
|
s.add_runtime_dependency 'backtrace', '~> 0.3'
|
48
48
|
s.add_runtime_dependency 'loog', '~> 0.2'
|
49
|
-
s.add_runtime_dependency 'slop', '~> 4.
|
50
|
-
s.add_development_dependency 'codecov', '0.
|
49
|
+
s.add_runtime_dependency 'slop', '~> 4.8'
|
50
|
+
s.add_development_dependency 'codecov', '0.2.8'
|
51
51
|
s.add_development_dependency 'cucumber', '~> 1.3.17'
|
52
52
|
s.add_development_dependency 'rake', '12.0.0'
|
53
53
|
s.add_development_dependency 'rubocop', '0.61.0'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: texsc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yegor Bugayenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: backtrace
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '4.
|
47
|
+
version: '4.8'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '4.
|
54
|
+
version: '4.8'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: codecov
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - '='
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
61
|
+
version: 0.2.8
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - '='
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.
|
68
|
+
version: 0.2.8
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cucumber
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|