error_highlight 0.4.0 → 0.5.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9ae1f66c6b1151cf65329869a64d4ea9ce7732344a6318aa99dc8a16aabeeff
4
- data.tar.gz: d2e52f94f74c6569cea530e8a843d99030c0a2860f38b8591952faedba759419
3
+ metadata.gz: 97374a7c69ab159c324e0592fae950fa9c065e9f3cd51130dbc2d39b65caa9c4
4
+ data.tar.gz: 470ef6d7ce73943e6e0260a581211987286fd366cde3663ad06a25dccb5f7234
5
5
  SHA512:
6
- metadata.gz: b6610f3e482792ae7f2eb8a2e8ada6c13f588b8d9fdbf2bac0948d99efb5046d92b9b5c83294661ecc91ffb1239b446b759d206db60da7dedaab5af48c7e3d4c
7
- data.tar.gz: 481f0da516eff4f75662bb709f56aeb11b380336f3fbd82465af16c24e48bbaa20d4590e5bdad5373c283f7d8eaba90c458bd807a6f1c1b809aef4710cb5a302
6
+ metadata.gz: 6fceb2e95ac91526ebbb3b51e19c3a03cb888e77642045b4ab9b050abc0ab09f5e783a93edf7b22587e811d6b85cd1a798551ea2cebcaf1c82364318cee5c89b
7
+ data.tar.gz: 5972069a5065563327401a9fcff877ecaaeda664c15d3bf4cc6285f97366d46ede0742c6ebc81e2a86738bc39f0193a32164c59eb10675c43e540ed8bb414d2b
@@ -22,6 +22,14 @@ module ErrorHighlight
22
22
  # snippet: String,
23
23
  # script_lines: [String],
24
24
  # } | nil
25
+ #
26
+ # Limitations:
27
+ #
28
+ # Currently, ErrorHighlight.spot only supports a single-line code fragment.
29
+ # Therefore, if the return value is not nil, first_lineno and last_lineno will have
30
+ # the same value. If the relevant code fragment spans multiple lines
31
+ # (e.g., Array#[] of +ary[(newline)expr(newline)]+), the method will return nil.
32
+ # This restriction may be removed in the future.
25
33
  def self.spot(obj, **opts)
26
34
  case obj
27
35
  when Exception
@@ -51,8 +59,7 @@ module ErrorHighlight
51
59
  Spotter.new(node, **opts).spot
52
60
 
53
61
  when RubyVM::AbstractSyntaxTree::Node
54
- # Just for compatibility
55
- Spotter.new(node, **opts).spot
62
+ Spotter.new(obj, **opts).spot
56
63
 
57
64
  else
58
65
  raise TypeError, "Exception is expected"
@@ -38,8 +38,10 @@ module ErrorHighlight
38
38
 
39
39
  NameError.prepend(CoreExt)
40
40
 
41
- # The extension for TypeError/ArgumentError is temporarily disabled due to many test failures
42
-
43
- #TypeError.prepend(CoreExt)
44
- #ArgumentError.prepend(CoreExt)
41
+ if Exception.method_defined?(:detailed_message)
42
+ # ErrorHighlight is enabled for TypeError and ArgumentError only when Exception#detailed_message is available.
43
+ # This is because changing ArgumentError#message is highly incompatible.
44
+ TypeError.prepend(CoreExt)
45
+ ArgumentError.prepend(CoreExt)
46
+ end
45
47
  end
@@ -1,3 +1,3 @@
1
1
  module ErrorHighlight
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: error_highlight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yusuke Endoh
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-10 00:00:00.000000000 Z
11
+ date: 2022-11-14 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The gem enhances Exception#message by adding a short explanation where
14
14
  the exception is raised
@@ -35,7 +35,7 @@ homepage: https://github.com/ruby/error_highlight
35
35
  licenses:
36
36
  - MIT
37
37
  metadata: {}
38
- post_install_message:
38
+ post_install_message:
39
39
  rdoc_options: []
40
40
  require_paths:
41
41
  - lib
@@ -51,7 +51,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
51
51
  version: '0'
52
52
  requirements: []
53
53
  rubygems_version: 3.3.7
54
- signing_key:
54
+ signing_key:
55
55
  specification_version: 4
56
56
  summary: Shows a one-line code snippet with an underline in the error backtrace
57
57
  test_files: []