syntax_suggest 2.0.1 → 2.0.2

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: ae3c4707aa81be21c4b2545128955745f90df5a2a9e978592b5fe58863a6d5a4
4
- data.tar.gz: 596b91a251e7c587c54830a8fc6c64db15066fc202bf30fe086a5255d6f2d06b
3
+ metadata.gz: 31364a29219b203328a466f55c6053c42aab83e79df39eeffc40755d6a33de9c
4
+ data.tar.gz: 1e169f8b9ab90c79b4c12cec51218fc41b6d1629e43749f212a40743690a1a8a
5
5
  SHA512:
6
- metadata.gz: ce891b408cfd1fe2450d61daea1928562cd01ee5c9335d92684489562d9f243df0b2ac4294f5d735badb5cc664da7226a7cd01eae679b52b9203184852505caf
7
- data.tar.gz: 1cc64117d7d662e0ab01dde6dd4a8b4efffe544d4b6cf4332f1cc6e6fff6a17199d3dd02f992c8dbb896ab0e105c5ea1ebd4642c47d54dab9f41741c99e6a8b7
6
+ metadata.gz: 1e88d0cdc9c56b1df7316434ef2b14e2c761eba7cbf8608f1cd4e98c074f7505622d18ef9ba39e6b9737da8d8d6a98fe79d0031f0b6b99feedb984fc83aeddad
7
+ data.tar.gz: 79cf1b4f31fb231c3a56c06157604bb29d0f38ea18c635ef3d02b9ada8e80ec4387489608ef921d97bfa7cb16dbefecb6ece1c50d0895096cda3427ebc352f64
@@ -4,3 +4,5 @@ updates:
4
4
  directory: '/'
5
5
  schedule:
6
6
  interval: 'weekly'
7
+ labels:
8
+ - 'skip changelog'
@@ -13,7 +13,7 @@ jobs:
13
13
  !contains(github.event.pull_request.body, '[skip ci]') &&
14
14
  !contains(github.event.pull_request.labels.*.name, 'skip changelog')
15
15
  steps:
16
- - uses: actions/checkout@v4.2.1
16
+ - uses: actions/checkout@v4.2.2
17
17
  - name: Check that CHANGELOG is touched
18
18
  run: |
19
19
  git fetch origin ${{ github.base_ref }} --depth 1 && \
@@ -9,7 +9,7 @@ jobs:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
11
  - name: Checkout code
12
- uses: actions/checkout@v4.2.1
12
+ uses: actions/checkout@v4.2.2
13
13
  - name: Set up Ruby
14
14
  uses: ruby/setup-ruby@v1
15
15
  with:
@@ -34,7 +34,7 @@ jobs:
34
34
  ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
35
35
  steps:
36
36
  - name: Checkout code
37
- uses: actions/checkout@v4.2.1
37
+ uses: actions/checkout@v4.2.2
38
38
  - name: Set up Ruby
39
39
  uses: ruby/setup-ruby@v1
40
40
  with:
@@ -53,7 +53,7 @@ jobs:
53
53
  ruby: ${{ fromJson(needs.ruby-versions.outputs.versions) }}
54
54
  steps:
55
55
  - name: Checkout code
56
- uses: actions/checkout@v4.2.1
56
+ uses: actions/checkout@v4.2.2
57
57
  - name: Set up Ruby
58
58
  uses: ruby/setup-ruby@v1
59
59
  with:
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## HEAD (unreleased)
2
2
 
3
+ ## 2.0.2
4
+
5
+ - Fix: Separate multiple parser errors by newline. (https://github.com/ruby/syntax_suggest/pull/232)
6
+
3
7
  ## 2.0.1
4
8
 
5
9
  - Fix CLI failure when shipped with default gems. (https://github.com/ruby/syntax_suggest/pull/226 and https://github.com/ruby/syntax_suggest/pull/227)
@@ -227,6 +227,7 @@ require_relative "lex_all"
227
227
  require_relative "code_line"
228
228
  require_relative "code_block"
229
229
  require_relative "block_expand"
230
+ require_relative "mini_stringio"
230
231
  require_relative "priority_queue"
231
232
  require_relative "unvisited_lines"
232
233
  require_relative "around_block_scan"
@@ -15,7 +15,7 @@ module SyntaxSuggest
15
15
  #
16
16
  # 1. Sanitize/format input source
17
17
  # 2. Search for invalid blocks
18
- # 3. Format invalid blocks into something meaninful
18
+ # 3. Format invalid blocks into something meaningful
19
19
  #
20
20
  # This class handles the third part.
21
21
  #
@@ -10,7 +10,7 @@ module SyntaxSuggest
10
10
  #
11
11
  # 1. Sanitize/format input source
12
12
  # 2. Search for invalid blocks
13
- # 3. Format invalid blocks into something meaninful
13
+ # 3. Format invalid blocks into something meaningful
14
14
  #
15
15
  # This class handles the first part.
16
16
  #
@@ -8,7 +8,7 @@ module SyntaxSuggest
8
8
  #
9
9
  # 1. Sanitize/format input source
10
10
  # 2. Search for invalid blocks
11
- # 3. Format invalid blocks into something meaninful
11
+ # 3. Format invalid blocks into something meaningful
12
12
  #
13
13
  # The Code frontier is a critical part of the second step
14
14
  #
@@ -3,24 +3,6 @@
3
3
  # Ruby 3.2+ has a cleaner way to hook into Ruby that doesn't use `require`
4
4
  if SyntaxError.method_defined?(:detailed_message)
5
5
  module SyntaxSuggest
6
- # Mini String IO [Private]
7
- #
8
- # Acts like a StringIO with reduced API, but without having to require that
9
- # class.
10
- class MiniStringIO
11
- def initialize(isatty: $stderr.isatty)
12
- @string = +""
13
- @isatty = isatty
14
- end
15
-
16
- attr_reader :isatty
17
- def puts(value = $/, **)
18
- @string << value
19
- end
20
-
21
- attr_reader :string
22
- end
23
-
24
6
  # SyntaxSuggest.module_for_detailed_message [Private]
25
7
  #
26
8
  # Used to monkeypatch SyntaxError via Module.prepend
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SyntaxSuggest
4
+ # Mini String IO [Private]
5
+ #
6
+ # Acts like a StringIO with reduced API, but without having to require that
7
+ # class.
8
+ #
9
+ # The original codebase emitted directly to $stderr, but now SyntaxError#detailed_message
10
+ # needs a string output. To accomplish that we kept the original print infrastructure in place and
11
+ # added this class to accumulate the print output into a string.
12
+ class MiniStringIO
13
+ EMPTY_ARG = Object.new
14
+
15
+ def initialize(isatty: $stderr.isatty)
16
+ @string = +""
17
+ @isatty = isatty
18
+ end
19
+
20
+ attr_reader :isatty
21
+ def puts(value = EMPTY_ARG, **)
22
+ if !value.equal?(EMPTY_ARG)
23
+ @string << value
24
+ end
25
+ @string << $/
26
+ end
27
+
28
+ attr_reader :string
29
+ end
30
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SyntaxSuggest
4
- VERSION = "2.0.1"
4
+ VERSION = "2.0.2"
5
5
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: syntax_suggest
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - schneems
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 2024-10-18 00:00:00.000000000 Z
11
+ date: 2024-11-15 00:00:00.000000000 Z
11
12
  dependencies: []
12
13
  description: When you get an "unexpected end" in your syntax this gem helps you find
13
14
  it
@@ -56,6 +57,7 @@ files:
56
57
  - lib/syntax_suggest/left_right_lex_count.rb
57
58
  - lib/syntax_suggest/lex_all.rb
58
59
  - lib/syntax_suggest/lex_value.rb
60
+ - lib/syntax_suggest/mini_stringio.rb
59
61
  - lib/syntax_suggest/parse_blocks_from_indent_line.rb
60
62
  - lib/syntax_suggest/pathname_from_message.rb
61
63
  - lib/syntax_suggest/priority_engulf_queue.rb
@@ -71,6 +73,7 @@ licenses:
71
73
  metadata:
72
74
  homepage_uri: https://github.com/ruby/syntax_suggest.git
73
75
  source_code_uri: https://github.com/ruby/syntax_suggest.git
76
+ post_install_message:
74
77
  rdoc_options: []
75
78
  require_paths:
76
79
  - lib
@@ -85,7 +88,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
88
  - !ruby/object:Gem::Version
86
89
  version: '0'
87
90
  requirements: []
88
- rubygems_version: 3.6.0.dev
91
+ rubygems_version: 3.5.23
92
+ signing_key:
89
93
  specification_version: 4
90
94
  summary: Find syntax errors in your source in a snap
91
95
  test_files: []