prettier 0.16.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +408 -198
- data/CONTRIBUTING.md +1 -1
- data/LICENSE +1 -1
- data/README.md +64 -40
- data/node_modules/prettier/bin-prettier.js +33712 -25689
- data/node_modules/prettier/index.js +32389 -24963
- data/node_modules/prettier/third-party.js +10733 -3849
- data/package.json +35 -7
- data/src/haml.js +3 -3
- data/src/haml/embed.js +2 -2
- data/src/haml/nodes/silentScript.js +32 -3
- data/src/haml/nodes/tag.js +14 -8
- data/src/haml/parse.rb +6 -7
- data/src/nodes/alias.js +2 -2
- data/src/nodes/args.js +9 -2
- data/src/nodes/arrays.js +6 -6
- data/src/nodes/blocks.js +7 -8
- data/src/nodes/calls.js +45 -10
- data/src/nodes/case.js +1 -1
- data/src/nodes/commands.js +21 -6
- data/src/nodes/conditionals.js +19 -15
- data/src/nodes/hashes.js +2 -2
- data/src/nodes/hooks.js +1 -1
- data/src/nodes/ints.js +1 -1
- data/src/nodes/lambdas.js +1 -1
- data/src/nodes/loops.js +16 -0
- data/src/nodes/methods.js +2 -2
- data/src/nodes/operators.js +11 -3
- data/src/nodes/params.js +4 -2
- data/src/nodes/regexp.js +1 -1
- data/src/nodes/rescue.js +5 -1
- data/src/nodes/return.js +16 -4
- data/src/nodes/strings.js +54 -77
- data/src/parse.js +8 -3
- data/src/prettier.js +0 -1
- data/src/ripper.rb +29 -21
- data/src/ruby.js +12 -4
- data/src/toProc.js +30 -3
- data/src/utils.js +6 -6
- metadata +7 -8
- data/src/escapePattern.js +0 -45
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 358b5350f0d237d510b4da937cf34a1aac4af594929f8b1799b2da05fce6a755
|
4
|
+
data.tar.gz: add73454d3a6e45214e568940551182313334ff4d43bf93196d1637b946e5866
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5277fec090d225d2aff51abb198c3b61580f0304252a088bc574868dd2d122b666dabf627faadf50f9e8b066de3fd8593a149a61b9609e605acaae54f73e2de6
|
7
|
+
data.tar.gz: 4571eed09e3a0e492b8b1c7a8dd157ca45db4fb617e17dada815f29beb598c23cfe0008a21d1dff329c4e19c659b2fa8751a339901d59ec156b7c37d75c9afe1
|
data/CHANGELOG.md
CHANGED
@@ -6,25 +6,188 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [0.19.0] - 2020-07-03
|
10
|
+
|
11
|
+
### Added
|
12
|
+
|
13
|
+
- [@ryan-hunter-pc] - Add the option to disable the `Symbol#to_proc` transform.
|
14
|
+
- [@ryan-hunter-pc], [@SViccari], [@kddeisz] - Disable `Symbol#to_proc` transform when used as a key inside of a hash where the key is either `:if` or `:unless`.
|
15
|
+
|
16
|
+
## [0.18.2] - 2020-05-01
|
17
|
+
|
18
|
+
### Changed
|
19
|
+
|
20
|
+
- [@alse] - Support `vscodeLanguageIds` for HAML.
|
21
|
+
- [@ShayDavidson], [@kddeisz] - Don't allow replacing if/else with ternary if there's an assignment in the predicate.
|
22
|
+
- [@janklimo] - Do not add an empty line after `rescue` when the block is empty.
|
23
|
+
|
24
|
+
## [0.18.1] - 2020-04-05
|
25
|
+
|
26
|
+
### Changed
|
27
|
+
|
28
|
+
- [@petevk], [@kddeisz] - Use braces for block format iff it was originally a brace block, otherwise you could be changing precedence. For example:
|
29
|
+
|
30
|
+
<!-- prettier-ignore -->
|
31
|
+
```ruby
|
32
|
+
expect do
|
33
|
+
field 1 do
|
34
|
+
"foo"
|
35
|
+
end
|
36
|
+
end.to raise_error
|
37
|
+
```
|
38
|
+
|
39
|
+
should maintain its `do...end` and not switch to inline braces otherwise the brace might get associated with the `1`.
|
40
|
+
|
41
|
+
- [@flyerhzm] - Rewrite operators binary parser, as in:
|
42
|
+
|
43
|
+
<!-- prettier-ignore -->
|
44
|
+
```ruby
|
45
|
+
[
|
46
|
+
'1111111111111111111111111111111111111111111111111111111111111111111111111',
|
47
|
+
222
|
48
|
+
] +
|
49
|
+
[1]
|
50
|
+
```
|
51
|
+
|
52
|
+
- [@ftes], [@kddeisz] - When old-form dynamic attributes are added to a `div` tag in HAML, it was previously skipping printing the `%div`, which led to it being incorrectly displayed.
|
53
|
+
- [@ftes], [@kddeisz] - Previously if you had a long tag declaration with attributes that made it hit the line limit, then the content of the tag would be pushed to the next line but indented one character too many.
|
54
|
+
- [@ftes], [@kddeisz] - Don't explicitly require JSON if it has already been loaded, as this can lead to rubygems activation errors.
|
55
|
+
- [@mmainz], [@kddeisz] - Handle heredocs as the receivers of call nodes, as in:
|
56
|
+
|
57
|
+
<!-- prettier-ignore -->
|
58
|
+
```ruby
|
59
|
+
foo = <<~TEXT.strip
|
60
|
+
bar
|
61
|
+
TEXT
|
62
|
+
```
|
63
|
+
|
64
|
+
- [@github0013], [@kddeisz] - Leave parentheses in place if the value of a return node contains a binary with low operator precedence, as in:
|
65
|
+
|
66
|
+
<!-- prettier-ignore -->
|
67
|
+
```ruby
|
68
|
+
return (a or b) if c?
|
69
|
+
```
|
70
|
+
|
71
|
+
## [0.18.0] - 2020-03-17
|
72
|
+
|
73
|
+
### Added
|
74
|
+
|
75
|
+
- [@kddeisz] - Support for the `nokw_param` node for specifying when methods should no accept keywords, as in:
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
def foo(**nil); end
|
79
|
+
```
|
80
|
+
|
81
|
+
- [@kddeisz] - Support for the `args_forward` node for forwarding all types of arguments, as in:
|
82
|
+
|
83
|
+
```ruby
|
84
|
+
def foo(...)
|
85
|
+
bar(...)
|
86
|
+
end
|
87
|
+
```
|
88
|
+
|
89
|
+
### Changed
|
90
|
+
|
91
|
+
- [@ftes], [@kddeisz] - Handled 3 or more classes on a node in HAML, as in:
|
92
|
+
|
93
|
+
```haml
|
94
|
+
%table.table.is-striped.is-hoverable
|
95
|
+
```
|
96
|
+
|
97
|
+
- [@ftes], [@kddeisz] - Better handling of indentation of `if/elsif/else`, `unless/elsif/else`, and `case/when` branches, as in:
|
98
|
+
|
99
|
+
```haml
|
100
|
+
.column.is-12
|
101
|
+
- if true
|
102
|
+
TRUE
|
103
|
+
- else
|
104
|
+
FALSE
|
105
|
+
```
|
106
|
+
|
107
|
+
- [@tobyndockerill] - Format numbers with underscores after 4 digits, as opposed to 3.
|
108
|
+
- [@ianks] - Improve performance by using `--disable-gems`.
|
109
|
+
- [@flyerhzm] - Calls are grouped such that after an end parenthesis the following call will not be indented, as in:
|
110
|
+
|
111
|
+
<!-- prettier-ignore -->
|
112
|
+
```ruby
|
113
|
+
Config::Download.new(
|
114
|
+
'prettier',
|
115
|
+
filename: 'prettier.yml', url: 'https://raw.githubusercontent.com/...'
|
116
|
+
)
|
117
|
+
.perform
|
118
|
+
```
|
119
|
+
|
120
|
+
will now be printed as:
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
Config::Download.new(
|
124
|
+
'prettier',
|
125
|
+
filename: 'prettier.yml', url: 'https://raw.githubusercontent.com/...'
|
126
|
+
).perform
|
127
|
+
```
|
128
|
+
|
129
|
+
- [@pje], [@kddeisz] - Method definition bodies (on `defs` nodes) should dedent if a helper method is called. As in:
|
130
|
+
|
131
|
+
<!-- prettier-ignore -->
|
132
|
+
```ruby
|
133
|
+
private def self.foo
|
134
|
+
'bar'
|
135
|
+
end
|
136
|
+
```
|
137
|
+
|
138
|
+
should instead be indented as:
|
139
|
+
|
140
|
+
<!-- prettier-ignore -->
|
141
|
+
```ruby
|
142
|
+
private def self.foo
|
143
|
+
'bar'
|
144
|
+
end
|
145
|
+
```
|
146
|
+
|
147
|
+
- [@masqita], [@kddeisz] - Inline variable assignment within a predicate should force the conditional to break, as in:
|
148
|
+
|
149
|
+
```ruby
|
150
|
+
array.each do |element|
|
151
|
+
if index = difference.index(element)
|
152
|
+
difference.delete_at(index)
|
153
|
+
end
|
154
|
+
end
|
155
|
+
```
|
156
|
+
|
157
|
+
- [@hafley66], [@kddeisz] - Handle empty `while` and `until` blocks.
|
158
|
+
- [@Fruetel], [@kddeisz] - Simplify string escape pattern by locking on any escape sequence.
|
159
|
+
- [@flyerhzm], [@kddeisz] - Properly handle string quotes on symbols in hash keys.
|
160
|
+
|
161
|
+
## [0.17.0] - 2019-12-12
|
162
|
+
|
163
|
+
### Added
|
164
|
+
|
165
|
+
- [@matt-wratt] - Better support for explicit `return` nodes with empty arrays or arrays with a single element.
|
166
|
+
- [@jrdioko], [@kddeisz] - Alignment of `not_to` is explicitly allowed to not indent to better support rspec.
|
167
|
+
|
168
|
+
### Changed
|
169
|
+
|
170
|
+
- [@gin0606] - The max buffer being passed into the Ruby process is now up to 10MB.
|
171
|
+
|
9
172
|
## [0.16.0] - 2019-11-14
|
10
173
|
|
11
174
|
### Added
|
12
175
|
|
13
|
-
- Support for extra commas in multiple assignment, as it changes the meaning. For example,
|
176
|
+
- [@mmainz], [@kddeisz] - Support for extra commas in multiple assignment, as it changes the meaning. For example,
|
14
177
|
|
15
178
|
<!-- prettier-ignore -->
|
16
179
|
```ruby
|
17
180
|
a, = [1, 2, 3]
|
18
181
|
```
|
19
182
|
|
20
|
-
would previously get printed as `a = [1, 2, 3]`, which changes the value of `a` from `1` to the value of the entire array.
|
183
|
+
would previously get printed as `a = [1, 2, 3]`, which changes the value of `a` from `1` to the value of the entire array.
|
21
184
|
|
22
|
-
- Experimental support for the
|
185
|
+
- [@kddeisz] - Experimental support for the HAMtemplate language.
|
23
186
|
|
24
187
|
### Changed
|
25
188
|
|
26
|
-
- Support proper string escaping when the original string in the source is wrapped in `%q|...|`. For example, `%q|\'|` should get printed as `"\'"`, where previously it was dropping the backslash.
|
27
|
-
- Force ternary breaking when using the lower-precendence operators `and` and `or`. For example,
|
189
|
+
- [@github0013], [@kddeisz] - Support proper string escaping when the original string in the source is wrapped in `%q|...|`. For example, `%q|\'|` should get printed as `"\'"`, where previously it was dropping the backslash.
|
190
|
+
- [@jamescostian], [@kddeisz] - Force ternary breaking when using the lower-precendence operators `and` and `or`. For example,
|
28
191
|
|
29
192
|
<!-- prettier-ignore -->
|
30
193
|
```ruby
|
@@ -35,9 +198,9 @@ else
|
|
35
198
|
end
|
36
199
|
```
|
37
200
|
|
38
|
-
the previous expression was being transformed into a ternary which was invalid ruby. Instead it now stays broken out into an if/else block.
|
201
|
+
the previous expression was being transformed into a ternary which was invalid ruby. Instead it now stays broken out into an if/else block.
|
39
202
|
|
40
|
-
- Better support for embedded expressions inside heredocs. For example,
|
203
|
+
- [@localhostdotdev], [@joeyjoejoejr], [@eins78], [@kddeisz] - Better support for embedded expressions inside heredocs. For example,
|
41
204
|
|
42
205
|
<!-- prettier-ignore -->
|
43
206
|
```ruby
|
@@ -46,17 +209,18 @@ the previous expression was being transformed into a ternary which was invalid r
|
|
46
209
|
#{qux}
|
47
210
|
foo bar baz
|
48
211
|
HERE
|
212
|
+
```
|
49
213
|
|
50
|
-
should remain formatted as it is. Whereas previously due to the way the lines were split, you would sometimes end up with it breaking after `#{`.
|
214
|
+
should remain formatted as it is. Whereas previously due to the way the lines were split, you would sometimes end up with it breaking after `#{`.
|
51
215
|
|
52
|
-
- Fix up `return` node printing. When returning multiple values, you need to return an array literal as opposed to using parentheses.
|
216
|
+
- [@jamescostian], [@kddeisz] - Fix up `return` node printing. When returning multiple values, you need to return an array literal as opposed to using parentheses.
|
53
217
|
|
54
218
|
## [0.15.1] - 2019-11-05
|
55
219
|
|
56
220
|
### Changed
|
57
221
|
|
58
|
-
- [
|
59
|
-
- When predicates from within an `if`, `unless`, `while`, or `until` loop break the line, they should be aligned together. For example,
|
222
|
+
- [@AlanFoster] - Add `bin/lex` for viewing the tokenized result of Ripper on Ruby code.
|
223
|
+
- [@jakeprime], [@kddeisz] - When predicates from within an `if`, `unless`, `while`, or `until` loop break the line, they should be aligned together. For example,
|
60
224
|
|
61
225
|
<!-- prettier-ignore -->
|
62
226
|
```ruby
|
@@ -75,9 +239,7 @@ if foooooo ||
|
|
75
239
|
end
|
76
240
|
```
|
77
241
|
|
78
|
-
|
79
|
-
|
80
|
-
- Empty `if`, and `unless` conditionals are now handled gracefully:
|
242
|
+
- [@jamescostian], [@AlanFoster] - Empty `if`, and `unless` conditionals are now handled gracefully:
|
81
243
|
|
82
244
|
<!-- prettier-ignore -->
|
83
245
|
```ruby
|
@@ -85,20 +247,18 @@ if foo?
|
|
85
247
|
end
|
86
248
|
```
|
87
249
|
|
88
|
-
|
89
|
-
|
90
|
-
- Hash keys are not converted to keyword syntax if they would make invalid symbols. For example,
|
250
|
+
- [@mmainz], [@kddeisz] - Hash keys are not converted to keyword syntax if they would make invalid symbols. For example,
|
91
251
|
|
92
252
|
<!-- prettier-ignore -->
|
93
253
|
```ruby
|
94
254
|
{ :[] => nil }
|
95
255
|
```
|
96
256
|
|
97
|
-
cannot be translated into `[]:` as that is an invalid symbol. Instead, it stays with the hash rocket syntax.
|
257
|
+
cannot be translated into `[]:` as that is an invalid symbol. Instead, it stays with the hash rocket syntax.
|
98
258
|
|
99
|
-
- Do not attempt to format the insides of xstring literals (string that get sent to the command line surrounded by backticks or `%x`).
|
100
|
-
- When predicates for `if`, `unless`, `while`, or `until` nodes contain an assignment, we can't know for sure that it doesn't modify the body. In this case we need to always break and form a multi-line block.
|
101
|
-
- When the return value of `if`, `unless`, `while`, or `until` nodes are assigned to anything other than a local variable, we need to wrap them in parentheses if we're changing to the modifier form. This is because the following expressions have different semantic meaning:
|
259
|
+
- [@cldevs], [@kddeisz] - Do not attempt to format the insides of xstring literals (string that get sent to the command line surrounded by backticks or `%x`).
|
260
|
+
- [@cldevs], [@kddeisz] - When predicates for `if`, `unless`, `while`, or `until` nodes contain an assignment, we can't know for sure that it doesn't modify the body. In this case we need to always break and form a multi-line block.
|
261
|
+
- [@MarcManiez], [@kddeisz] - When the return value of `if`, `unless`, `while`, or `until` nodes are assigned to anything other than a local variable, we need to wrap them in parentheses if we're changing to the modifier form. This is because the following expressions have different semantic meaning:
|
102
262
|
|
103
263
|
<!-- prettier-ignore -->
|
104
264
|
```ruby
|
@@ -113,16 +273,16 @@ The first one will not result in an empty hash, whereas the second one will resu
|
|
113
273
|
hash[:key] = (break :value while false)
|
114
274
|
```
|
115
275
|
|
116
|
-
That will guarantee that the expressions are equivalent.
|
276
|
+
That will guarantee that the expressions are equivalent.
|
117
277
|
|
118
|
-
- Fix crashes that were happening with `ignored_nl` nodes.
|
278
|
+
- [@AlanFoster] - Fix crashes that were happening with `ignored_nl` nodes.
|
119
279
|
|
120
280
|
## [0.15.0] - 2019-08-06
|
121
281
|
|
122
282
|
### Changed
|
123
283
|
|
124
|
-
- If xstring literals (command line calls surrounded by backticks) break, then we indent and place the command on a new line. Previously, this was resulting in new lines getting added each time the code was formatted. Now this happens correctly.
|
125
|
-
- When a `while` or `until` loop modifies a `begin...end` statement, it must remain in the modifier form or else it changes sematic meaning. For example,
|
284
|
+
- [@dudeofawesome], [@kddeisz] - If xstring literals (command line calls surrounded by backticks) break, then we indent and place the command on a new line. Previously, this was resulting in new lines getting added each time the code was formatted. Now this happens correctly.
|
285
|
+
- [@krachtstefan], [@kddeisz] - When a `while` or `until` loop modifies a `begin...end` statement, it must remain in the modifier form or else it changes sematic meaning. For example,
|
126
286
|
|
127
287
|
<!-- prettier-ignore -->
|
128
288
|
```ruby
|
@@ -140,10 +300,10 @@ while bar
|
|
140
300
|
end
|
141
301
|
```
|
142
302
|
|
143
|
-
because that would never execute `foo` if `bar` is falsy, whereas in the initial example it would have.
|
303
|
+
because that would never execute `foo` if `bar` is falsy, whereas in the initial example it would have.
|
144
304
|
|
145
|
-
- When transforming a block into the `Symbol#to_proc` syntax from within a list of arguments inside of an `aref` node (i.e., `foo[:bar].each`), we can't put the block syntax inside the brackets.
|
146
|
-
- Values for the `return` keyword that broke the line were previously just printed as they were, which breaks if you have a block expression like an `if` or `while`. For example,
|
305
|
+
- [@jviney], [@kddeisz] - When transforming a block into the `Symbol#to_proc` syntax from within a list of arguments inside of an `aref` node (i.e., `foo[:bar].each`), we can't put the block syntax inside the brackets.
|
306
|
+
- [@jakeprime], [@kddeisz] - Values for the `return` keyword that broke the line were previously just printed as they were, which breaks if you have a block expression like an `if` or `while`. For example,
|
147
307
|
|
148
308
|
<!-- prettier-ignore -->
|
149
309
|
```ruby
|
@@ -174,9 +334,7 @@ return(
|
|
174
334
|
)
|
175
335
|
```
|
176
336
|
|
177
|
-
|
178
|
-
|
179
|
-
- When switching from a double-quoted string to a single-quoted string that contained escaped double quotes, the backslashes would stay in the string. As in:
|
337
|
+
- [@jakeprime], [@kddeisz] - When switching from a double-quoted string to a single-quoted string that contained escaped double quotes, the backslashes would stay in the string. As in:
|
180
338
|
|
181
339
|
<!-- prettier-ignore -->
|
182
340
|
```ruby
|
@@ -197,17 +355,15 @@ but now gets formatted as:
|
|
197
355
|
'Foo "Bar" Baz'
|
198
356
|
```
|
199
357
|
|
200
|
-
(Thanks to @jakeprime for the report.)
|
201
|
-
|
202
358
|
## [0.14.0] - 2019-07-17
|
203
359
|
|
204
360
|
### Added
|
205
361
|
|
206
|
-
- Support for pattern matching for variables and array patterns. Currently waiting on Ripper support for hash patterns. For examples, check out the [test/js/patterns.test.js](test/js/patterns.test.js) file.
|
362
|
+
- [@kddeisz] - Support for pattern matching for variables and array patterns. Currently waiting on Ripper support for hash patterns. For examples, check out the [test/js/patterns.test.js](test/js/patterns.test.js) file.
|
207
363
|
|
208
364
|
### Changed
|
209
365
|
|
210
|
-
- if/else blocks that had method calls on the end of them that were also transformed into ternaries need to have parens added to them. For example,
|
366
|
+
- [@jviney], [@kddeisz] - if/else blocks that had method calls on the end of them that were also transformed into ternaries need to have parens added to them. For example,
|
211
367
|
|
212
368
|
<!-- prettier-ignore -->
|
213
369
|
```ruby
|
@@ -225,10 +381,8 @@ now correctly gets transformed into:
|
|
225
381
|
(foo ? 1 : 2).to_s
|
226
382
|
```
|
227
383
|
|
228
|
-
|
229
|
-
|
230
|
-
- Fixed a bug where multiple newlines at the end of the file would cause a crash. (Thanks to @acrewdson for the report.)
|
231
|
-
- If a variable is assigned inside of the predicate of a conditional, then we can't change it into the single-line version as this breaks. For example,
|
384
|
+
- [@acrewdson], [@kddeisz] - Fixed a bug where multiple newlines at the end of the file would cause a crash.
|
385
|
+
- [@jviney], [@kddeisz] - If a variable is assigned inside of the predicate of a conditional, then we can't change it into the single-line version as this breaks. For example,
|
232
386
|
|
233
387
|
<!-- prettier-ignore -->
|
234
388
|
```ruby
|
@@ -237,17 +391,17 @@ if foo = 1
|
|
237
391
|
end
|
238
392
|
```
|
239
393
|
|
240
|
-
must stay the same.
|
394
|
+
must stay the same.
|
241
395
|
|
242
396
|
## [0.13.0] - 2019-07-05
|
243
397
|
|
244
398
|
### Added
|
245
399
|
|
246
|
-
- Added `locStart` and `locEnd` functions to support `--cursor-offset`.
|
400
|
+
- [@kddeisz] - Added `locStart` and `locEnd` functions to support `--cursor-offset`.
|
247
401
|
|
248
402
|
### Changed
|
249
403
|
|
250
|
-
- Comments inside of `do...end` blocks that preceeded `call` nodes were associating the comment with the `var_ref` instead of the `call` itself. For example,
|
404
|
+
- [@xipgroc], [@kddeisz] - Comments inside of `do...end` blocks that preceeded `call` nodes were associating the comment with the `var_ref` instead of the `call` itself. For example,
|
251
405
|
|
252
406
|
<!-- prettier-ignore -->
|
253
407
|
```ruby
|
@@ -270,27 +424,27 @@ foo.each do |bar|
|
|
270
424
|
end
|
271
425
|
```
|
272
426
|
|
273
|
-
but now gets printed correctly.
|
427
|
+
but now gets printed correctly.
|
274
428
|
|
275
|
-
- Double splats inside a hash were previously failing to print. For example,
|
429
|
+
- [@petevk], [@kddeisz] - Double splats inside a hash were previously failing to print. For example,
|
276
430
|
|
277
431
|
<!-- prettier-ignore -->
|
278
432
|
```ruby
|
279
433
|
{ foo: "bar", **baz }
|
280
434
|
```
|
281
435
|
|
282
|
-
would fail to print, but now works.
|
436
|
+
would fail to print, but now works.
|
283
437
|
|
284
438
|
## [0.12.3] - 2019-05-16
|
285
439
|
|
286
440
|
### Changed
|
287
441
|
|
288
|
-
- [
|
289
|
-
- [
|
290
|
-
- Better support for excessed commas in block args. Previously `proc { |x,| }` would add an extra space, but now it does not.
|
291
|
-
- [
|
292
|
-
- Previously, the unary `not` operator inside a ternary (e.g., `a ? not(b) : c`) would break because it wouldn't add parentheses, but now it adds them.
|
293
|
-
- `if` and `unless` nodes used to not be able to handle if a comment was the only statement in the body. For example,
|
442
|
+
- [@kddeisz] - Move arg, assign, constant, flow, massign, operator, scope, and statement nodes into their own files.
|
443
|
+
- [@kddeisz] - Move `@int`, `access_ctrl`, `assocsplat`, `block_var`, `else`, `number_arg`, `super`, `undef`, `var_ref`, and `var_ref` as well as various call and symbol nodes into appropriate files.
|
444
|
+
- [@kddeisz] - Better support for excessed commas in block args. Previously `proc { |x,| }` would add an extra space, but now it does not.
|
445
|
+
- [@kddeisz] - Add a lot more documentation to the parser.
|
446
|
+
- [@glejeune], [@kddeisz] - Previously, the unary `not` operator inside a ternary (e.g., `a ? not(b) : c`) would break because it wouldn't add parentheses, but now it adds them.
|
447
|
+
- [@kddeisz] - `if` and `unless` nodes used to not be able to handle if a comment was the only statement in the body. For example,
|
294
448
|
|
295
449
|
<!-- prettier-ignore -->
|
296
450
|
```ruby
|
@@ -308,7 +462,7 @@ would get printed as
|
|
308
462
|
|
309
463
|
Now the `if` and `unless` printers check for the presence of single comments.
|
310
464
|
|
311
|
-
- Fixes an error where `command` nodes within `def` nodes would fail to format if it was only a single block argument. For example,
|
465
|
+
- [@JoshuaKGoldberg], [@kddeisz] - Fixes an error where `command` nodes within `def` nodes would fail to format if it was only a single block argument. For example,
|
312
466
|
|
313
467
|
<!-- prettier-ignore -->
|
314
468
|
```ruby
|
@@ -317,338 +471,338 @@ def curry(&block)
|
|
317
471
|
end
|
318
472
|
```
|
319
473
|
|
320
|
-
would fail, but now works.
|
474
|
+
would fail, but now works.
|
321
475
|
|
322
|
-
- Comments on lines with array references were previously deleting the array references entirely. For example,
|
476
|
+
- [@xipgroc], [@kddeisz] - Comments on lines with array references were previously deleting the array references entirely. For example,
|
323
477
|
|
324
478
|
<!-- prettier-ignore -->
|
325
479
|
```ruby
|
326
480
|
array[index] # comment
|
327
481
|
```
|
328
482
|
|
329
|
-
would previously result in `array[]`, but now prints properly.
|
483
|
+
would previously result in `array[]`, but now prints properly.
|
330
484
|
|
331
485
|
## [0.12.2] - 2019-04-30
|
332
486
|
|
333
487
|
### Changed
|
334
488
|
|
335
|
-
- When symbol literal hash keys end with `=`, they cannot be transformed into hash labels.
|
336
|
-
- Fixed when blocks on methods with no arguments are transformed into `to_proc` syntax.
|
489
|
+
- [@kddeisz] - When symbol literal hash keys end with `=`, they cannot be transformed into hash labels.
|
490
|
+
- [@xipgroc], [@kddeisz] - Fixed when blocks on methods with no arguments are transformed into `to_proc` syntax.
|
337
491
|
|
338
492
|
## [0.12.1] - 2019-04-22
|
339
493
|
|
340
494
|
### Changed
|
341
495
|
|
342
|
-
- If a lambda literal is nested under a `command` or `command_call` node anywhere in the heirarchy, then it needs to use the higher-precedence `{ ... }` braces as opposed to the `do ... end` delimiters.
|
343
|
-
- Calling `super` with a block and no args was causing the parser to fail when attempting to inspect lambda nodes.
|
344
|
-
- Support better breaking within interpolation by grouping the interpolated content.
|
496
|
+
- [@kddeisz] - If a lambda literal is nested under a `command` or `command_call` node anywhere in the heirarchy, then it needs to use the higher-precedence `{ ... }` braces as opposed to the `do ... end` delimiters.
|
497
|
+
- [@jpickwell], [@kddeisz] - Calling `super` with a block and no args was causing the parser to fail when attempting to inspect lambda nodes.
|
498
|
+
- [@kddeisz] - Support better breaking within interpolation by grouping the interpolated content.
|
345
499
|
|
346
500
|
## [0.12.0] - 2019-04-18
|
347
501
|
|
348
502
|
### Added
|
349
503
|
|
350
|
-
- Automatically convert `lambda { ... }` method calls into `-> { ... }` literals.
|
504
|
+
- [@kddeisz] - Automatically convert `lambda { ... }` method calls into `-> { ... }` literals.
|
351
505
|
|
352
506
|
## [0.11.0] - 2019-04-18
|
353
507
|
|
354
508
|
### Added
|
355
509
|
|
356
|
-
- Support for parsing things with a ruby shebang (e.g., `#!/usr/bin/env ruby` or `#!/usr/bin/ruby`).
|
357
|
-
- [
|
358
|
-
- Make multiple `when` predicates break at 80 chars and then wrap to be inline with the other predicates.
|
359
|
-
- Automatically add underscores in large numbers that aren't already formatted.
|
360
|
-
- Better support for inline access control modifiers.
|
361
|
-
- Better support for heredocs in hash literals.
|
362
|
-
- Better support for heredocs in array literals.
|
363
|
-
- Support automatically transforming `def/begin/rescue/end/end` into `def/rescue/end`.
|
510
|
+
- [@kddeisz] - Support for parsing things with a ruby shebang (e.g., `#!/usr/bin/env ruby` or `#!/usr/bin/ruby`).
|
511
|
+
- [@kddeisz] - Big tests refactor.
|
512
|
+
- [@kddeisz] - Make multiple `when` predicates break at 80 chars and then wrap to be inline with the other predicates.
|
513
|
+
- [@kddeisz] - Automatically add underscores in large numbers that aren't already formatted.
|
514
|
+
- [@AlanFoster] - Better support for inline access control modifiers.
|
515
|
+
- [@jpickwell], [@kddeisz] - Better support for heredocs in hash literals.
|
516
|
+
- [@kddeisz] - Better support for heredocs in array literals.
|
517
|
+
- [@kddeisz] - Support automatically transforming `def/begin/rescue/end/end` into `def/rescue/end`.
|
364
518
|
|
365
519
|
### Changed
|
366
520
|
|
367
|
-
- Fixed support for dynamic string hash keys.
|
368
|
-
- [
|
369
|
-
- [
|
370
|
-
- Automatically add newlines around access modifiers.
|
371
|
-
- Alignment of command calls with arguments is fixed.
|
372
|
-
- Alignment of `to` is explicitly allowed to not indent to better support rspec.
|
373
|
-
- Fix up the `to_proc` transform so that it works with other argument handling appropriately.
|
374
|
-
- Fixed regression on regexp comments.
|
375
|
-
- Fix up block delimiters when nested inside a `command` or `command_call` node.
|
376
|
-
- [
|
521
|
+
- [@deecewan] - Fixed support for dynamic string hash keys.
|
522
|
+
- [@kddeisz] - Moved `case/when` into its own file and added better documentation.
|
523
|
+
- [@kddeisz] - Moved `begin/rescue` into its own file.
|
524
|
+
- [@AlanFoster] - Automatically add newlines around access modifiers.
|
525
|
+
- [@kddeisz] - Alignment of command calls with arguments is fixed.
|
526
|
+
- [@aaronjensen], [@kddeisz] - Alignment of `to` is explicitly allowed to not indent to better support rspec.
|
527
|
+
- [@kddeisz] - Fix up the `to_proc` transform so that it works with other argument handling appropriately.
|
528
|
+
- [@kddeisz] - Fixed regression on regexp comments.
|
529
|
+
- [@CodingItWrong], [@kddeisz] - Fix up block delimiters when nested inside a `command` or `command_call` node.
|
530
|
+
- [@kddeisz] - Moved hashes into its own file.
|
377
531
|
|
378
532
|
## [0.10.0] - 2019-03-25
|
379
533
|
|
380
534
|
### Added
|
381
535
|
|
382
|
-
- Support for block-local variables.
|
383
|
-
- Support for dyna-symbols that are using single quotes.
|
536
|
+
- [@kddeisz] - Support for block-local variables.
|
537
|
+
- [@kddeisz] - Support for dyna-symbols that are using single quotes.
|
384
538
|
|
385
539
|
### Changed
|
386
540
|
|
387
|
-
- Force method calls after arrays, blocks, hashes, and xstrings to hang onto the end of the previous nodes.
|
388
|
-
- Check before anything else for an invalid ruby version.
|
541
|
+
- [@kddeisz] - Force method calls after arrays, blocks, hashes, and xstrings to hang onto the end of the previous nodes.
|
542
|
+
- [@kddeisz] - Check before anything else for an invalid ruby version.
|
389
543
|
|
390
544
|
## [0.9.1] - 2019-03-24
|
391
545
|
|
392
546
|
### Changed
|
393
547
|
|
394
|
-
- Better support string quotes by favoring what the user chose if the string contains escape patterns.
|
395
|
-
- Better support heredocs within method calls.
|
548
|
+
- [@kddeisz] - Better support string quotes by favoring what the user chose if the string contains escape patterns.
|
549
|
+
- [@kddeisz] - Better support heredocs within method calls.
|
396
550
|
|
397
551
|
## [0.9.0] - 2019-03-18
|
398
552
|
|
399
553
|
### Added
|
400
554
|
|
401
|
-
- Support the `hasPragma` function.
|
402
|
-
- Support the new `number_arg` node type in Ruby 2.7.
|
555
|
+
- [@kddeisz] - Support the `hasPragma` function.
|
556
|
+
- [@kddeisz] - Support the new `number_arg` node type in Ruby 2.7.
|
403
557
|
|
404
558
|
### Changed
|
405
559
|
|
406
|
-
- Limit the number of nodes that are allowed to turn into ternary expressions.
|
560
|
+
- [@kddeisz] - Limit the number of nodes that are allowed to turn into ternary expressions.
|
407
561
|
|
408
562
|
## [0.8.0] - 2019-03-08
|
409
563
|
|
410
564
|
### Added
|
411
565
|
|
412
|
-
- [
|
413
|
-
- Add the infra for the `prettier` ruby gem.
|
414
|
-
- Add a `rake` task for easier process integration for the ruby gem.
|
415
|
-
- Handle direct interpolation of strings with %w array literals (i.e., `["#{foo}"]` should not be transformed into a %w array).
|
566
|
+
- [@kddeisz] - Add `eslint` and fix up existing violations.
|
567
|
+
- [@AlanFoster] - Add the infra for the `prettier` ruby gem.
|
568
|
+
- [@kddeisz] - Add a `rake` task for easier process integration for the ruby gem.
|
569
|
+
- [@kddeisz] - Handle direct interpolation of strings with %w array literals (i.e., `["#{foo}"]` should not be transformed into a %w array).
|
416
570
|
|
417
571
|
### Changed
|
418
572
|
|
419
|
-
- Fix string escaping for hex digit bit patterns when there's only one character after the "x".
|
420
|
-
- Don't allow line breaks between brace block params.
|
421
|
-
- [
|
422
|
-
- [
|
423
|
-
- [
|
424
|
-
- [
|
425
|
-
- Handle longer command nodes.
|
426
|
-
- Changed the ruby executable within the `prettier` gem to `rbprettier` for easier autocomplete.
|
573
|
+
- [@kddeisz] - Fix string escaping for hex digit bit patterns when there's only one character after the "x".
|
574
|
+
- [@AlanFoster] - Don't allow line breaks between brace block params.
|
575
|
+
- [@johnschoeman] - Switch over the array.rb test case to minitest.
|
576
|
+
- [@AlanFoster] - Test improvements to allow running in parallel.
|
577
|
+
- [@johnschoeman] - Switch over assign.rb test case to minitest.
|
578
|
+
- [@AlanFoster] - Add a contributing guide.
|
579
|
+
- [@AlanFoster] - Handle longer command nodes.
|
580
|
+
- [@kddeisz] - Changed the ruby executable within the `prettier` gem to `rbprettier` for easier autocomplete.
|
427
581
|
|
428
582
|
### Removed
|
429
583
|
|
430
|
-
- All instances of the spread (`...`) operator so that we can support older versions of node.
|
584
|
+
- [@kddeisz] - All instances of the spread (`...`) operator so that we can support older versions of node.
|
431
585
|
|
432
586
|
## [0.7.0] - 2019-02-24
|
433
587
|
|
434
588
|
### Changed
|
435
589
|
|
436
|
-
- Support checking for escaping within strings to force double quotes (e.g., "\n").
|
437
|
-
- Handle cases with empty class and module declarations that need to break.
|
438
|
-
- [
|
439
|
-
- Support lambdas that don't break and are inline.
|
440
|
-
- [
|
441
|
-
- [
|
442
|
-
- [
|
443
|
-
- Support `__END__` content.
|
444
|
-
- Fix up issue with whitespace being added within regexp that are multiline.
|
445
|
-
- Better support for destructuring within multi assignment.
|
446
|
-
- [
|
447
|
-
- Handle multiple arguments to `next` with a space between.
|
448
|
-
- Handle multi-line conditional predicate (should align with keyword).
|
449
|
-
- Properly support adding trailing commas with and without blocks.
|
450
|
-
- Fix regression of handling comments within arrays on array literals.
|
451
|
-
- Support multiple arguments to `undef`.
|
590
|
+
- [@kddeisz] - Support checking for escaping within strings to force double quotes (e.g., "\n").
|
591
|
+
- [@RossKinsella], [@kddeisz] - Handle cases with empty class and module declarations that need to break.
|
592
|
+
- [@AlanFoster] - Align the `bin/print` and `bin/sexp` APto support `bin/print` taking a filepath.
|
593
|
+
- [@AndrewRayCode], [@kddeisz] - Support lambdas that don't break and are inline.
|
594
|
+
- [@AlanFoster] - Switch over the numbers.rb test to minitest.
|
595
|
+
- [@AlanFoster] - Switch over the kwargs.rb test to minitest.
|
596
|
+
- [@AlanFoster] - Bail out early if the Ruby input is invalid.
|
597
|
+
- [@kddeisz] - Support `__END__` content.
|
598
|
+
- [@AlanFoster] - Fix up issue with whitespace being added within regexp that are multiline.
|
599
|
+
- [@AlanFoster] - Better support for destructuring within multi assignment.
|
600
|
+
- [@kddeisz] - Switch `next` test over to minitest.
|
601
|
+
- [@kddeisz] - Handle multiple arguments to `next` with a space between.
|
602
|
+
- [@AndrewRayCode], [@kddeisz] - Handle multi-line conditional predicate (should align with keyword).
|
603
|
+
- [@aaronjensen], [@kddeisz] - Properly support adding trailing commas with and without blocks.
|
604
|
+
- [@AlanFoster], [@kddeisz] - Fix regression of handling comments within arrays on array literals.
|
605
|
+
- [@AlanFoster] - Support multiple arguments to `undef`.
|
452
606
|
|
453
607
|
## [0.6.3] - 2019-02-18
|
454
608
|
|
455
609
|
### Changed
|
456
610
|
|
457
|
-
- [
|
458
|
-
- [
|
459
|
-
- Handle comments from within `begin`, `rescue`, `ensure`, `while`, and `until` nodes.
|
460
|
-
- Properly indent heredocs without taking into account current indentation level.
|
611
|
+
- [@kddeisz] - Switch over `binary` fixture to minitest.
|
612
|
+
- [@kddeisz] - Reconfigure parser into multiple layer modules so that it's easier to understand and manage.
|
613
|
+
- [@kddeisz] - Handle comments from within `begin`, `rescue`, `ensure`, `while`, and `until` nodes.
|
614
|
+
- [@kddeisz] - Properly indent heredocs without taking into account current indentation level.
|
461
615
|
|
462
616
|
## [0.6.2] - 2019-02-17
|
463
617
|
|
464
618
|
### Changed
|
465
619
|
|
466
|
-
- Handle regexp suffixes.
|
467
|
-
- [
|
468
|
-
- [
|
469
|
-
- Break up method args to split into multiple lines.
|
470
|
-
- Handle blocks args when trailing commas are on.
|
620
|
+
- [@AlanFoster] - Handle regexp suffixes.
|
621
|
+
- [@kddeisz] - Add support for testing the test fixtures with minitest.
|
622
|
+
- [@kddeisz] - Switch over `alias` and `regexp` tests to minitest.
|
623
|
+
- [@aaronjensen], [@kddeisz] - Break up method args to split into multiple lines.
|
624
|
+
- [@christoomey], [@kddeisz] - Handle blocks args when trailing commas are on.
|
471
625
|
|
472
626
|
## [0.6.1] - 2019-02-15
|
473
627
|
|
474
628
|
### Changed
|
475
629
|
|
476
|
-
- Fix Ruby 2.5 inline comments on `args_add_block` nodes.
|
477
|
-
- Support passing `super()` explicitly with no arguments.
|
630
|
+
- [@meleyal], [@kddeisz] - Fix Ruby 2.5 inline comments on `args_add_block` nodes.
|
631
|
+
- [@meleyal], [@kddeisz] - Support passing `super()` explicitly with no arguments.
|
478
632
|
|
479
633
|
## [0.6.0] - 2019-02-14
|
480
634
|
|
481
635
|
### Added
|
482
636
|
|
483
|
-
- Handle non UTF-8 comments.
|
484
|
-
- Handle non UTF-8 identifiers.
|
485
|
-
- Handle non UTF-8 strings.
|
486
|
-
- Handle empty parens.
|
487
|
-
- Handle rescue with splats preceeding the exception names.
|
637
|
+
- [@kddeisz] - Handle non UTF-8 comments.
|
638
|
+
- [@kddeisz] - Handle non UTF-8 identifiers.
|
639
|
+
- [@kddeisz] - Handle non UTF-8 strings.
|
640
|
+
- [@kddeisz] - Handle empty parens.
|
641
|
+
- [@kddeisz] - Handle rescue with splats preceeding the exception names.
|
488
642
|
|
489
643
|
### Changed
|
490
644
|
|
491
|
-
- Use `JSON::fast_generate` to get the s-expressions back from the parser.
|
492
|
-
- Handle broken lambdas from within `command` and `command_call` nodes.
|
645
|
+
- [@kddeisz] - Use `JSON::fast_generate` to get the s-expressions back from the parser.
|
646
|
+
- [@NoahTheDuke], [@kddeisz] - Handle broken lambdas from within `command` and `command_call` nodes.
|
493
647
|
|
494
648
|
## [0.5.2] - 2019-02-13
|
495
649
|
|
496
650
|
### Changed
|
497
651
|
|
498
|
-
- Support embedded expressions within strings that contain only keywords, as in `"#{super}"`.
|
652
|
+
- [@kddeisz] - Support embedded expressions within strings that contain only keywords, as in `"#{super}"`.
|
499
653
|
|
500
654
|
## [0.5.1] - 2019-02-13
|
501
655
|
|
502
656
|
### Changed
|
503
657
|
|
504
|
-
- Force `do` blocks that we know have to be `do` blocks to break.
|
505
|
-
- Handle `command` and `command_call` nodes `do` blocks by forcing them to break.
|
506
|
-
- Attach comments to full hash association nodes, not just the value.
|
658
|
+
- [@yuki24], [@kddeisz] - Force `do` blocks that we know have to be `do` blocks to break.
|
659
|
+
- [@kmcq], [@kddeisz] - Handle `command` and `command_call` nodes `do` blocks by forcing them to break.
|
660
|
+
- [@ashfurrow], [@kddeisz] - Attach comments to full hash association nodes, not just the value.
|
507
661
|
|
508
662
|
## [0.5.0] - 2019-02-13
|
509
663
|
|
510
664
|
### Added
|
511
665
|
|
512
|
-
- Automatically convert arrays of all string literals to %w arrays.
|
513
|
-
- Automatically convert arrays of all symbol literals to %i arrays.
|
666
|
+
- [@kddeisz] - Automatically convert arrays of all string literals to %w arrays.
|
667
|
+
- [@kddeisz] - Automatically convert arrays of all symbol literals to %i arrays.
|
514
668
|
|
515
669
|
### Changed
|
516
670
|
|
517
|
-
- [
|
518
|
-
- Change `command_call` nodes to properly indent when broken and to not add a trailing comma.
|
519
|
-
- Rename the `trailingComma` option to `addTrailingCommas` to not conflict with the JS option.
|
671
|
+
- [@kddeisz] - Move the `args_add` and `args_new` handling into the parser.
|
672
|
+
- [@uri], [@kddeisz] - Change `command_call` nodes to properly indent when broken and to not add a trailing comma.
|
673
|
+
- [@kddeisz] - Rename the `trailingComma` option to `addTrailingCommas` to not conflict with the JS option.
|
520
674
|
|
521
675
|
## [0.4.1] - 2019-02-12
|
522
676
|
|
523
677
|
### Changed
|
524
678
|
|
525
|
-
- [
|
526
|
-
- Again, this time for real, properly escape strings.
|
527
|
-
- Fix up trailing commas on command calls.
|
679
|
+
- [@kddeisz] - Provide the `makeList` utility for the nodes that are lists from within ripper.
|
680
|
+
- [@awinograd], [@kddeisz] - Again, this time for real, properly escape strings.
|
681
|
+
- [@kddeisz] - Fix up trailing commas on command calls.
|
528
682
|
|
529
683
|
## [0.4.0] - 2019-02-12
|
530
684
|
|
531
685
|
### Added
|
532
686
|
|
533
|
-
- Support the `trailingComma` configuration option (defaults to `false`).
|
687
|
+
- [@Overload119], [@kddeisz] - Support the `trailingComma` configuration option (defaults to `false`).
|
534
688
|
|
535
689
|
### Changed
|
536
690
|
|
537
|
-
- Pass the code to be formatted over `stdin`.
|
691
|
+
- [@NoahTheDuke], [@kddeisz] - Pass the code to be formatted over `stdin`.
|
538
692
|
|
539
693
|
## [0.3.7] - 2019-02-11
|
540
694
|
|
541
695
|
### Changed
|
542
696
|
|
543
|
-
- Split up statements even if they started on the same line with `;`s unless they are within an embedded expression.
|
544
|
-
- Properly handle escaped quotes within strings.
|
697
|
+
- [@kddeisz] - Split up statements even if they started on the same line with `;`s unless they are within an embedded expression.
|
698
|
+
- [@kddeisz] - Properly handle escaped quotes within strings.
|
545
699
|
|
546
700
|
## [0.3.6] - 2019-02-10
|
547
701
|
|
548
702
|
### Changed
|
549
703
|
|
550
|
-
- Support the `not` operator properly.
|
551
|
-
- Handle comments properly inside `if`, `unless`, and `when` nodes.
|
704
|
+
- [@AlanFoster], [@kddeisz] - Support the `not` operator properly.
|
705
|
+
- [@AlanFoster], [@kddeisz] - Handle comments properly inside `if`, `unless`, and `when` nodes.
|
552
706
|
|
553
707
|
## [0.3.5] - 2019-02-09
|
554
708
|
|
555
709
|
### Changed
|
556
710
|
|
557
|
-
- Handle lonely operators in Ruby `2.5`.
|
711
|
+
- [@kddeisz] - Handle lonely operators in Ruby `2.5`.
|
558
712
|
|
559
713
|
## [0.3.4] - 2019-02-09
|
560
714
|
|
561
715
|
### Changed
|
562
716
|
|
563
|
-
- Comments are now properly attached inside `defs` nodes.
|
564
|
-
- Support multiple inline comments on nodes.
|
565
|
-
- Support inline comments from within the `EXPR_END|EXPR_LABEL` lexer state.
|
566
|
-
- Stop transforming multistatement blocks with `to_proc`.
|
567
|
-
- `do` blocks necessarily need to break their parent nodes.
|
568
|
-
- Handle `next` node edge case with `args_add` as the body.
|
717
|
+
- [@kddeisz] - Comments are now properly attached inside `defs` nodes.
|
718
|
+
- [@kddeisz] - Support multiple inline comments on nodes.
|
719
|
+
- [@kddeisz] - Support inline comments from within the `EXPR_END|EXPR_LABEL` lexer state.
|
720
|
+
- [@cbothner] - Stop transforming multistatement blocks with `to_proc`.
|
721
|
+
- [@kddeisz] - `do` blocks necessarily need to break their parent nodes.
|
722
|
+
- [@eins78], [@kddeisz] - Handle `next` node edge case with `args_add` as the body.
|
569
723
|
|
570
724
|
## [0.3.3] - 2019-02-09
|
571
725
|
|
572
726
|
### Changed
|
573
727
|
|
574
|
-
- Command nodes within conditionals now break parents to disallow them from being turned into ternary expressions.
|
575
|
-
- Properly escape double quotes when using `preferSingleQuotes: false`.
|
728
|
+
- [@bugthing], [@kddeisz] - Command nodes within conditionals now break parents to disallow them from being turned into ternary expressions.
|
729
|
+
- [@awinograd], [@kddeisz] - Properly escape double quotes when using `preferSingleQuotes: false`.
|
576
730
|
|
577
731
|
## [0.3.2] - 2019-02-09
|
578
732
|
|
579
733
|
### Changed
|
580
734
|
|
581
|
-
- [
|
582
|
-
- Let prettier know about `.rb` and `.rake` files so you don't have to specify the parser when running.
|
583
|
-
- Renamed the package to @prettier/plugin-ruby.
|
735
|
+
- [@kddeisz] - Don't define duplicated methods in the parser.
|
736
|
+
- [@kddeisz] - Let prettier know about `.rb` and `.rake` files so you don't have to specify the parser when running.
|
737
|
+
- [@kddeisz] - Renamed the package to @prettier/plugin-ruby.
|
584
738
|
|
585
739
|
## [0.3.1] - 2019-02-07
|
586
740
|
|
587
741
|
### Changed
|
588
742
|
|
589
|
-
- Automatically add parens to method declarations.
|
590
|
-
- Handle comments on bare hash assocs.
|
591
|
-
- Handle `method_add_block` nodes where the statements may be nested one more level.
|
592
|
-
- Handle heredocs nested no matter how many levels deep.
|
743
|
+
- [@kddeisz] - Automatically add parens to method declarations.
|
744
|
+
- [@kddeisz] - Handle comments on bare hash assocs.
|
745
|
+
- [@kddeisz] - Handle `method_add_block` nodes where the statements may be nested one more level.
|
746
|
+
- [@kddeisz] - Handle heredocs nested no matter how many levels deep.
|
593
747
|
|
594
748
|
## [0.3.0] - 2019-02-07
|
595
749
|
|
596
750
|
### Added
|
597
751
|
|
598
|
-
- Support squiggly heredocs.
|
599
|
-
- Support straight heredocs.
|
752
|
+
- [@kddeisz] - Support squiggly heredocs.
|
753
|
+
- [@kddeisz] - Support straight heredocs.
|
600
754
|
|
601
755
|
### Changed
|
602
756
|
|
603
|
-
- Ignore current indentation when creating embdocs so that `=begin` is always at the beginning of the line.
|
604
|
-
- [
|
605
|
-
- [
|
606
|
-
- [
|
607
|
-
- [
|
608
|
-
- [
|
757
|
+
- [@kddeisz] - Ignore current indentation when creating embdocs so that `=begin` is always at the beginning of the line.
|
758
|
+
- [@kddeisz] - Move `regexp_add` and `regexp_new` handling into the parser.
|
759
|
+
- [@kddeisz] - Move `xstring_add` and `xstring_new` handling into the parser.
|
760
|
+
- [@kddeisz] - Move `string_add` and `string_content` handling into the parser.
|
761
|
+
- [@kddeisz] - Move `mrhs_add` and `mrhs_new` handling into the parser.
|
762
|
+
- [@kddeisz] - Move `mlhs_add` and `mlhs_new` handling into the parser.
|
609
763
|
|
610
764
|
## [0.2.1] - 2019-02-06
|
611
765
|
|
612
766
|
### Changed
|
613
767
|
|
614
|
-
- Handle brace blocks on commands properly.
|
615
|
-
- Break parent and return `do` blocks when called from a `command` node.
|
616
|
-
- Handle edge cases with `if` statements where there is no body of the if (so it can't be converted to a ternary).
|
768
|
+
- [@kddeisz] - Handle brace blocks on commands properly.
|
769
|
+
- [@kddeisz] - Break parent and return `do` blocks when called from a `command` node.
|
770
|
+
- [@kddeisz] - Handle edge cases with `if` statements where there is no body of the if (so it can't be converted to a ternary).
|
617
771
|
|
618
772
|
## [0.2.0] - 2019-02-06
|
619
773
|
|
620
774
|
### Added
|
621
775
|
|
622
|
-
- Handle `methref` nodes from Ruby `2.7`.
|
623
|
-
- Allow `module` nodes to shorten using `;` when the block is empty.
|
776
|
+
- [@kddeisz] - Handle `methref` nodes from Ruby `2.7`.
|
777
|
+
- [@kddeisz] - Allow `module` nodes to shorten using `;` when the block is empty.
|
624
778
|
|
625
779
|
### Changed
|
626
780
|
|
627
|
-
- Handle splat within an array, as in `[1, 2, *foo]`.
|
628
|
-
- Disallow comments from being attached to intermediary regex nodes.
|
629
|
-
- Fix `to_proc` transforms to reference the method called as opposed to the parameter name.
|
630
|
-
- [
|
631
|
-
- [
|
632
|
-
- Allow comments to be attached to `CHAR` nodes.
|
633
|
-
- [
|
634
|
-
- [
|
635
|
-
- [
|
781
|
+
- [@kddeisz] - Handle splat within an array, as in `[1, 2, *foo]`.
|
782
|
+
- [@kddeisz] - Disallow comments from being attached to intermediary regex nodes.
|
783
|
+
- [@kddeisz] - Fix `to_proc` transforms to reference the method called as opposed to the parameter name.
|
784
|
+
- [@kddeisz] - Change statement lists to be generated within the parser instead of the printer, thereby allowing finer control over comments.
|
785
|
+
- [@kddeisz] - Completely revamp comment parsing by switching off the internal lexer state from `ripper`. This should drastically increase accuracy of comment parsing in general, and set us up for success in the future.
|
786
|
+
- [@kddeisz] - Allow comments to be attached to `CHAR` nodes.
|
787
|
+
- [@kddeisz] - Disallow comments from being attached to `args_new` nodes.
|
788
|
+
- [@kddeisz] - Track start and end lines so we can better insert block comments.
|
789
|
+
- [@kddeisz] - Handle intermediary array nodes in the parse for better comment handling.
|
636
790
|
|
637
791
|
## [0.1.2] - 2019-02-05
|
638
792
|
|
639
793
|
### Changed
|
640
794
|
|
641
|
-
- Handle guard clauses that return with no parens.
|
795
|
+
- [@kddeisz] - Handle guard clauses that return with no parens.
|
642
796
|
|
643
797
|
## [0.1.1] - 2019-02-05
|
644
798
|
|
645
799
|
### Changed
|
646
800
|
|
647
|
-
- Handle class method calls with the `::` operator.
|
648
|
-
- Handle strings with apostrophes when using `preferSingleQuote`.
|
649
|
-
- [
|
650
|
-
- Explicitly fail if ruby version is < `2.5`.
|
651
|
-
- Disallow comments from being attached to intermediary string nodes.
|
801
|
+
- [@kddeisz] - Handle class method calls with the `::` operator.
|
802
|
+
- [@kddeisz] - Handle strings with apostrophes when using `preferSingleQuote`.
|
803
|
+
- [@kddeisz] - Have travis run multiple ruby versions.
|
804
|
+
- [@kddeisz] - Explicitly fail if ruby version is < `2.5`.
|
805
|
+
- [@kddeisz] - Disallow comments from being attached to intermediary string nodes.
|
652
806
|
|
653
807
|
## [0.1.0] - 2019-02-04
|
654
808
|
|
@@ -656,7 +810,12 @@ would previously result in `array[]`, but now prints properly. (Thanks to @xipgr
|
|
656
810
|
|
657
811
|
- Initial release 🎉
|
658
812
|
|
659
|
-
[unreleased]: https://github.com/prettier/plugin-ruby/compare/v0.
|
813
|
+
[unreleased]: https://github.com/prettier/plugin-ruby/compare/v0.19.0...HEAD
|
814
|
+
[0.19.0]: https://github.com/prettier/plugin-ruby/compare/v0.18.2...v0.19.0
|
815
|
+
[0.18.2]: https://github.com/prettier/plugin-ruby/compare/v0.18.1...v0.18.2
|
816
|
+
[0.18.1]: https://github.com/prettier/plugin-ruby/compare/v0.18.0...v0.18.1
|
817
|
+
[0.18.0]: https://github.com/prettier/plugin-ruby/compare/v0.17.0...v0.18.0
|
818
|
+
[0.17.0]: https://github.com/prettier/plugin-ruby/compare/v0.16.0...v0.17.0
|
660
819
|
[0.16.0]: https://github.com/prettier/plugin-ruby/compare/v0.15.1...v0.16.0
|
661
820
|
[0.15.1]: https://github.com/prettier/plugin-ruby/compare/v0.15.0...v0.15.1
|
662
821
|
[0.15.0]: https://github.com/prettier/plugin-ruby/compare/v0.14.0...v0.15.0
|
@@ -694,3 +853,54 @@ would previously result in `array[]`, but now prints properly. (Thanks to @xipgr
|
|
694
853
|
[0.1.2]: https://github.com/prettier/plugin-ruby/compare/v0.1.1...v0.1.2
|
695
854
|
[0.1.1]: https://github.com/prettier/plugin-ruby/compare/v0.1.0...v0.1.1
|
696
855
|
[0.1.0]: https://github.com/prettier/plugin-ruby/compare/61f675...v0.1.0
|
856
|
+
[@aaronjensen]: https://github.com/aaronjensen
|
857
|
+
[@acrewdson]: https://github.com/acrewdson
|
858
|
+
[@alanfoster]: https://github.com/AlanFoster
|
859
|
+
[@alse]: https://github.com/alse
|
860
|
+
[@andrewraycode]: https://github.com/AndrewRayCode
|
861
|
+
[@ashfurrow]: https://github.com/ashfurrow
|
862
|
+
[@awinograd]: https://github.com/awinograd
|
863
|
+
[@bugthing]: https://github.com/bugthing
|
864
|
+
[@cbothner]: https://github.com/cbothner
|
865
|
+
[@christoomey]: https://github.com/christoomey
|
866
|
+
[@cldevs]: https://github.com/cldevs
|
867
|
+
[@codingitwrong]: https://github.com/CodingItWrong
|
868
|
+
[@deecewan]: https://github.com/deecewan
|
869
|
+
[@dudeofawesome]: https://github.com/dudeofawesome
|
870
|
+
[@eins78]: https://github.com/eins78
|
871
|
+
[@ftes]: https://github.com/ftes
|
872
|
+
[@flyerhzm]: https://github.com/flyerhzm
|
873
|
+
[@fruetel]: https://github.com/Fruetel
|
874
|
+
[@gin0606]: https://github.com/gin0606
|
875
|
+
[@github0013]: https://github.com/github0013
|
876
|
+
[@glejeune]: https://github.com/glejeune
|
877
|
+
[@hafley66]: https://github.com/hafley66
|
878
|
+
[@ianks]: https://github.com/ianks
|
879
|
+
[@jakeprime]: https://github.com/jakeprime
|
880
|
+
[@jamescostian]: https://github.com/jamescostian
|
881
|
+
[@janklimo]: https://github.com/janklimo
|
882
|
+
[@joeyjoejoejr]: https://github.com/joeyjoejoejr
|
883
|
+
[@johnschoeman]: https://github.com/johnschoeman
|
884
|
+
[@joshuakgoldberg]: https://github.com/JoshuaKGoldberg
|
885
|
+
[@jpickwell]: https://github.com/jpickwell
|
886
|
+
[@jrdioko]: https://github.com/jrdioko
|
887
|
+
[@jviney]: https://github.com/jviney
|
888
|
+
[@kddeisz]: https://github.com/kddeisz
|
889
|
+
[@kmcq]: https://github.com/kmcq
|
890
|
+
[@krachtstefan]: https://github.com/krachtstefan
|
891
|
+
[@localhostdotdev]: https://github.com/localhostdotdev
|
892
|
+
[@marcmaniez]: https://github.com/MarcManiez
|
893
|
+
[@masqita]: https://github.com/masqita
|
894
|
+
[@matt-wratt]: https://github.com/matt-wratt
|
895
|
+
[@meleyal]: https://github.com/meleyal
|
896
|
+
[@mmainz]: https://github.com/mmainz
|
897
|
+
[@noahtheduke]: https://github.com/NoahTheDuke
|
898
|
+
[@overload119]: https://github.com/Overload119
|
899
|
+
[@petevk]: https://github.com/petevk
|
900
|
+
[@pje]: https://github.com/pje
|
901
|
+
[@rosskinsella]: https://github.com/RossKinsella
|
902
|
+
[@shaydavidson]: https://github.com/ShayDavidson
|
903
|
+
[@tobyndockerill]: https://github.com/tobyndockerill
|
904
|
+
[@uri]: https://github.com/uri
|
905
|
+
[@xipgroc]: https://github.com/xipgroc
|
906
|
+
[@yuki24]: https://github.com/yuki24
|