dead_end 1.1.2 → 1.1.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +9 -0
- data/CHANGELOG.md +20 -0
- data/Gemfile.lock +2 -2
- data/dead_end.gemspec +1 -1
- data/lib/dead_end/auto.rb +3 -1
- data/lib/dead_end/display_invalid_blocks.rb +1 -1
- data/lib/dead_end/version.rb +1 -1
- data/lib/dead_end/who_dis_syntax_error.rb +12 -9
- metadata +3 -4
- data/assets/syntax_search.gif +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49c72ccc76282ed1e7f9256f51f0adc1c886e1a05b3951e8f86d45eca0f22609
|
4
|
+
data.tar.gz: 2d1fc7eefe0fb741a516adf09ea5c5472d8f678572cc73858a3a1b4468b10457
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4007362e70da478bb4590ad7196897b50fe4ab31bf384a4e4a80df44b906cee5faadf992a400a45d85e16b4864a42f17cc49490e8411020a4058310c088d84c
|
7
|
+
data.tar.gz: 1cd5eaa6385bf7e451801c33d13f89a69c6412608067dc8acc23d7955ecc8ca5796ae839b966767a37f12b48e0d280fb0a1946e9d5e24f92edf14b2913b36c68
|
data/.circleci/config.yml
CHANGED
@@ -32,6 +32,14 @@ jobs:
|
|
32
32
|
- ruby/install-deps
|
33
33
|
- <<: *unit
|
34
34
|
|
35
|
+
"ruby-3-0":
|
36
|
+
docker:
|
37
|
+
- image: circleci/ruby:3.0
|
38
|
+
steps:
|
39
|
+
- checkout
|
40
|
+
- ruby/install-deps
|
41
|
+
- <<: *unit
|
42
|
+
|
35
43
|
workflows:
|
36
44
|
version: 2
|
37
45
|
build:
|
@@ -39,3 +47,4 @@ workflows:
|
|
39
47
|
- "ruby-2-5"
|
40
48
|
- "ruby-2-6"
|
41
49
|
- "ruby-2-7"
|
50
|
+
- "ruby-3-0"
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,25 @@
|
|
1
1
|
## HEAD (unreleased)
|
2
2
|
|
3
|
+
## 1.1.7
|
4
|
+
|
5
|
+
- Fix sinatra support for `require_relative` (https://github.com/zombocom/dead_end/pull/63)
|
6
|
+
|
7
|
+
## 1.1.6
|
8
|
+
|
9
|
+
- Consider if syntax error caused an unexpected variable instead of end (https://github.com/zombocom/dead_end/pull/58)
|
10
|
+
|
11
|
+
## 1.1.5
|
12
|
+
|
13
|
+
- Parse error once and not twice if there's more than one available (https://github.com/zombocom/dead_end/pull/57)
|
14
|
+
|
15
|
+
## 1.1.4
|
16
|
+
|
17
|
+
- Avoid including demo gif in built gem (https://github.com/zombocom/dead_end/pull/53)
|
18
|
+
|
19
|
+
## 1.1.3
|
20
|
+
|
21
|
+
- Add compatibility with zeitwerk (https://github.com/zombocom/dead_end/pull/52)
|
22
|
+
|
3
23
|
## 1.1.2
|
4
24
|
|
5
25
|
- Namespace Kernel method aliases (https://github.com/zombocom/dead_end/pull/51)
|
data/Gemfile.lock
CHANGED
data/dead_end.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
# Specify which files should be added to the gem when it is released.
|
21
21
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
22
22
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
23
|
-
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
23
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features|assets)/}) }
|
24
24
|
end
|
25
25
|
spec.bindir = "exe"
|
26
26
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
data/lib/dead_end/auto.rb
CHANGED
@@ -5,6 +5,8 @@ require_relative "../dead_end/internals"
|
|
5
5
|
# Monkey patch kernel to ensure that all `require` calls call the same
|
6
6
|
# method
|
7
7
|
module Kernel
|
8
|
+
module_function
|
9
|
+
|
8
10
|
alias_method :dead_end_original_require, :require
|
9
11
|
alias_method :dead_end_original_require_relative, :require_relative
|
10
12
|
alias_method :dead_end_original_load, :load
|
@@ -25,7 +27,7 @@ module Kernel
|
|
25
27
|
if Pathname.new(file).absolute?
|
26
28
|
dead_end_original_require file
|
27
29
|
else
|
28
|
-
dead_end_original_require File.expand_path("../#{file}", caller_locations(1, 1)[0].absolute_path)
|
30
|
+
dead_end_original_require File.expand_path("../#{file}", Kernel.caller_locations(1, 1)[0].absolute_path)
|
29
31
|
end
|
30
32
|
rescue SyntaxError => e
|
31
33
|
DeadEnd.handle_error(e)
|
data/lib/dead_end/version.rb
CHANGED
@@ -42,22 +42,25 @@ module DeadEnd
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def on_parse_error(msg)
|
45
|
+
return if @error_symbol && @unmatched_symbol
|
46
|
+
|
45
47
|
@error = msg
|
46
48
|
@unmatched_symbol = :unknown
|
47
49
|
|
48
|
-
|
50
|
+
case @error
|
51
|
+
when /unexpected end-of-input/
|
49
52
|
@error_symbol = :missing_end
|
50
|
-
|
51
|
-
@error_symbol = :unmatched_syntax
|
53
|
+
when /expecting end-of-input/
|
52
54
|
@unmatched_symbol = :end
|
53
|
-
elsif @error.match?(/unexpected `end'/) || # Ruby 2.7 & 3.0
|
54
|
-
@error.match?(/unexpected end,/) || # Ruby 2.6
|
55
|
-
@error.match?(/unexpected keyword_end/) # Ruby 2.5
|
56
|
-
|
57
55
|
@error_symbol = :unmatched_syntax
|
56
|
+
when /unexpected .* expecting '(?<unmatched_symbol>.*)'/
|
57
|
+
@unmatched_symbol = $1.to_sym if $1
|
58
|
+
@error_symbol = :unmatched_syntax
|
59
|
+
when /unexpected `end'/, # Ruby 2.7 and 3.0
|
60
|
+
/unexpected end/, # Ruby 2.6
|
61
|
+
/unexpected keyword_end/i # Ruby 2.5
|
58
62
|
|
59
|
-
|
60
|
-
@unmatched_symbol = match[:unmatched_symbol].to_sym if match
|
63
|
+
@error_symbol = :unmatched_syntax
|
61
64
|
else
|
62
65
|
@error_symbol = :unknown
|
63
66
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dead_end
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schneems
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: When you get an "unexpected end" in your syntax this gem helps you find
|
14
14
|
it
|
@@ -31,7 +31,6 @@ files:
|
|
31
31
|
- LICENSE.txt
|
32
32
|
- README.md
|
33
33
|
- Rakefile
|
34
|
-
- assets/syntax_search.gif
|
35
34
|
- bin/console
|
36
35
|
- bin/setup
|
37
36
|
- dead_end.gemspec
|
@@ -76,7 +75,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
76
75
|
- !ruby/object:Gem::Version
|
77
76
|
version: '0'
|
78
77
|
requirements: []
|
79
|
-
rubygems_version: 3.
|
78
|
+
rubygems_version: 3.2.15
|
80
79
|
signing_key:
|
81
80
|
specification_version: 4
|
82
81
|
summary: Find syntax errors in your source in a snap
|
data/assets/syntax_search.gif
DELETED
Binary file
|