rufo 0.16.1 → 0.16.3

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: a6b55f94b8276a2ca0dc8518aa98949e83f83a95adc25a039385cb6855bcbb1c
4
- data.tar.gz: 03b7595cccdade48c215c3609726bd8a40a5ac72c66e6f64246e842a63f7729e
3
+ metadata.gz: 3d409deea0a4597c0cab778d78b5d055ef0efe09246063f94d4902b92967590a
4
+ data.tar.gz: c49924d1209e5ae8e0387ba93596273dfca7e71ae788dc17820fecbf286f62a6
5
5
  SHA512:
6
- metadata.gz: 6c15b016ff6914844a2da86cf3af9ae257abdd9c421dfc4186d2eea39cfba919a2ac3ec489a1f539c59abd49452a5af511e2bca538adb7c62b346859bab3912b
7
- data.tar.gz: aadada98b7acf84c40c147210655c54681d49b2d2079c76f6d44c19775676556cbf6545bc0754b4c037ba94478b31259f1236a464f60b15704f1e6ecbb98def7
6
+ metadata.gz: 21b4a9ce483440f4a0765b13e2ee5b2101ed9556d59ddc5714df046a773b9060d97d84c7ddfc76e9320f72cb76c5ec4ee304876c77c193108e7e29c7ab630f8e
7
+ data.tar.gz: f09a85d28f35f086d980ed9d4db3d27503bb6b71ad35d8298d812464d0118f02b28ec25968ebbb822f1266254271970e3960c31cc6de0cd1b04961c7fa1fa250
data/CHANGELOG.md CHANGED
@@ -12,6 +12,24 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
12
12
 
13
13
  ### Added
14
14
 
15
+ ## [0.16.3] - 2023-11-09
16
+
17
+ ### Fixed
18
+ - Fix Bug: Support hash literal pattern with quoted key ([#312](https://github.com/ruby-formatter/rufo/issues/312))
19
+
20
+ ### Changed
21
+
22
+ ### Added
23
+
24
+ ## [0.16.2] - 2023-07-29
25
+
26
+ ### Fixed
27
+ - Fix Bug: Unexpected EOF with blocks in .html.erb ([#297](https://github.com/ruby-formatter/rufo/issues/297))
28
+
29
+ ### Changed
30
+
31
+ ### Added
32
+
15
33
  ## [0.16.1] - 2023-05-04
16
34
 
17
35
  ### Fixed
@@ -125,9 +125,16 @@ class Rufo::ErbFormatter
125
125
  string
126
126
  end
127
127
 
128
+ CODE_BLOCK_KEYWORDS = %w[BEGIN END begin case class def do else elsif end ensure for if module rescue unless until while]
129
+
130
+ def code_block_token?(token)
131
+ _, kind, value = token
132
+ kind == :on_kw && CODE_BLOCK_KEYWORDS.include?(value)
133
+ end
134
+
128
135
  def determine_code_wrappers(code_str)
129
- keywords = Ripper.lex("#{code_str}").filter { |lex_token| lex_token[1] == :on_kw }
130
- lexical_tokens = keywords.filter { |lex_token| lex_token[2] != "when" }.map { |lex_token| lex_token[3].to_s }
136
+ keywords = Ripper.lex("#{code_str}").filter { |lex_token| code_block_token?(lex_token) }
137
+ lexical_tokens = keywords.map { |lex_token| lex_token[3].to_s }
131
138
  state_tally = lexical_tokens.group_by(&:itself).transform_values(&:count)
132
139
  beg_token = state_tally["BEG"] || state_tally["EXPR_BEG"] || 0
133
140
  end_token = state_tally["END"] || state_tally["EXPR_END"] || 0
@@ -3310,7 +3310,15 @@ class Rufo::Formatter
3310
3310
 
3311
3311
  visit_literal_elements elements, inside_hash: true, token_column: token_column, keep_final_newline: expected_right_token.nil? do |element|
3312
3312
  key, value = element
3313
- visit key
3313
+
3314
+ if current_token_kind == :on_tstring_beg
3315
+ consume_token :on_tstring_beg
3316
+ visit key
3317
+ consume_token :on_label_end
3318
+ else
3319
+ visit key
3320
+ end
3321
+
3314
3322
  if value
3315
3323
  consume_space
3316
3324
  visit value
data/lib/rufo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rufo
4
- VERSION = "0.16.1"
4
+ VERSION = "0.16.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rufo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.1
4
+ version: 0.16.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ary Borenszweig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-05-04 00:00:00.000000000 Z
11
+ date: 2023-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler