rufo 0.16.1 → 0.16.3

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: 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