prettier 1.4.0 → 1.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +356 -380
- data/README.md +22 -11
- data/package.json +4 -4
- data/rubocop.yml +3 -0
- data/src/haml/parser.js +2 -2
- data/src/haml/parser.rb +0 -2
- data/src/parser/getNetcat.js +17 -10
- data/src/parser/netcat.js +0 -2
- data/src/parser/parseSync.js +25 -15
- data/src/parser/requestParse.js +3 -3
- data/src/parser/server.rb +7 -2
- data/src/plugin.js +7 -0
- data/src/rbs/parser.js +2 -2
- data/src/rbs/parser.rb +8 -4
- data/src/ruby/embed.js +61 -13
- data/src/ruby/nodes/args.js +86 -24
- data/src/ruby/nodes/arrays.js +36 -33
- data/src/ruby/nodes/class.js +17 -27
- data/src/ruby/nodes/commands.js +1 -1
- data/src/ruby/nodes/conditionals.js +1 -1
- data/src/ruby/nodes/hashes.js +28 -14
- data/src/ruby/nodes/heredocs.js +5 -3
- data/src/ruby/nodes/loops.js +4 -10
- data/src/ruby/nodes/methods.js +4 -11
- data/src/ruby/nodes/statements.js +3 -5
- data/src/ruby/parser.js +2 -2
- data/src/ruby/parser.rb +81 -5
- data/src/ruby/printer.js +8 -3
- data/src/utils.js +2 -1
- data/src/utils/inlineEnsureParens.js +8 -1
- data/src/utils/isEmptyBodyStmt.js +7 -0
- data/src/utils/isEmptyStmts.js +9 -5
- data/src/utils/literallineWithoutBreakParent.js +7 -0
- data/src/utils/printEmptyCollection.js +9 -2
- metadata +5 -4
- data/src/utils/literalLineNoBreak.js +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c23f6803729e7a50ce180a31626443c85d3a622b16b2c49d4d0b80e8a89eb99
|
4
|
+
data.tar.gz: ba8d7d3939ac37e7ed8bb4b2c5efa68c06ac2cb9b217bac839779ee0901f1321
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e8bb12d0468a507b63049340ab4709ac4cf001f9cb2941a3f83b4e22d265158b12efcc24f2a6e342b0e20eee39d6125549be9b224e76472be2c34c286d82b1af
|
7
|
+
data.tar.gz: 1187d27608c659d69f8e7c2d966002f451a0e43245110506814fcc5c6d54e865ef2d382bc6a66fabf4818994d0f82eff3e1c02c9108492026d44314ce85c34d4
|
data/CHANGELOG.md
CHANGED
@@ -6,139 +6,183 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [1.5.4] - 2021-03-17
|
10
|
+
|
11
|
+
### Changed
|
12
|
+
|
13
|
+
- [#835](https://github.com/prettier/plugin-ruby/issues/835) - valscion, kddeisz - Array splat operator should not get moved by leading comments.
|
14
|
+
- [#836](https://github.com/prettier/plugin-ruby/issues/836) - valscion, kddeisz - Array splat operator should not get moved by trailing comments.
|
15
|
+
- [#821](https://github.com/prettier/plugin-ruby/issues/821) - jscheid, kddeisz - Better error handling when using GNU netcat.
|
16
|
+
|
17
|
+
## [1.5.3] - 2021-02-28
|
18
|
+
|
19
|
+
### Changed
|
20
|
+
|
21
|
+
- [#812](https://github.com/prettier/plugin-ruby/issues/812) - valscion, kddeisz - Splats and blocks within args that have comments attached should place their respective operators in the right place.
|
22
|
+
- [#816](https://github.com/prettier/plugin-ruby/pull/816) - valscion - Document RuboCop's Style/Lambda should be disabled
|
23
|
+
- [#814](https://github.com/prettier/plugin-ruby/issues/814) - jscheid, kddeisz - Provide better errors when the source location of the error is known.
|
24
|
+
|
25
|
+
## [1.5.2] - 2021-02-03
|
26
|
+
|
27
|
+
### Changed
|
28
|
+
|
29
|
+
- kddeisz - Fix up `binary` node comparison operators so that it will handle either Symbol literals or the `@op` nodes which are incorrectly coming from JRuby (https://github.com/jruby/jruby/issues/6548).
|
30
|
+
|
31
|
+
## [1.5.1] - 2021-01-27
|
32
|
+
|
33
|
+
### Changed
|
34
|
+
|
35
|
+
- [#799](https://github.com/prettier/plugin-ruby/issues/799) - jscheid, kddeisz - Multi-byte characters shouldn't give invalid source string bounds.
|
36
|
+
- [#801](https://github.com/prettier/plugin-ruby/issues/801) - jscheid, kddeisz - When converting a conditional to the modifier form, make sure to add parentheses if there is a chained method call.
|
37
|
+
- [#803](https://github.com/prettier/plugin-ruby/issues/803) - jscheid, kddeisz - Fix `formatWithCursor` support to match new parser format.
|
38
|
+
|
39
|
+
## [1.5.0] - 2021-01-21
|
40
|
+
|
41
|
+
### Added
|
42
|
+
|
43
|
+
- kddeisz - Add `.rbi` as a file type that we support.
|
44
|
+
|
45
|
+
### Changed
|
46
|
+
|
47
|
+
- [#795](https://github.com/prettier/plugin-ruby/issues/795) djrodgerspryor, kddeisz - Trailing comments attached to empty arrays should not multiply.
|
48
|
+
- [#794](https://github.com/prettier/plugin-ruby/issues/794) djrodgerspryor, kddeisz - Fix embedded parser parsing by stripping common leading whitespace before passing on the content.
|
49
|
+
- [#793](https://github.com/prettier/plugin-ruby/issues/793) djrodgerspryor, kddeisz - Do not include trailing commas on arguments within `arg_paren` nodes if they could not be parsed with them (`command` and `command_call`).
|
50
|
+
- [#788](https://github.com/prettier/plugin-ruby/issues/788) clarkdave, kddeisz - Break child hashes within a multi-line hash regardless of whether or not they can fit on one line.
|
51
|
+
- kddeisz - Stop using `;` to separate empty class definitions, module definitions, and loops.
|
52
|
+
|
9
53
|
## [1.4.0] - 2021-01-15
|
10
54
|
|
11
55
|
### Added
|
12
56
|
|
13
|
-
-
|
57
|
+
- ianks, kddeisz - Use `netcat` to communicate to a parser server for better performance when formatting multiple files.
|
14
58
|
|
15
59
|
### Changed
|
16
60
|
|
17
|
-
-
|
18
|
-
-
|
19
|
-
-
|
20
|
-
-
|
21
|
-
-
|
61
|
+
- jeffcarbs, kddeisz - Long strings with interpolated expressions should only break if the contents in the original source is broken.
|
62
|
+
- johannesluedke, kddeisz - Fix for rescues with inline comments.
|
63
|
+
- johncsnyder, kddeisz - Comments should not attach to nodes beyond a double newline.
|
64
|
+
- blampe, kddeisz - Comments inside of a broken method chain get dropped.
|
65
|
+
- clarkdave, kddeisz - Don't ignore Sorbet `sig` transformations.
|
22
66
|
|
23
67
|
## [1.3.0] - 2021-01-05
|
24
68
|
|
25
69
|
### Added
|
26
70
|
|
27
|
-
-
|
28
|
-
-
|
71
|
+
- kddeisz - Handling of the RBS language.
|
72
|
+
- kddeisz - Incorporate the HAML plugin.
|
29
73
|
|
30
74
|
## [1.2.5] - 2021-01-04
|
31
75
|
|
32
76
|
### Changed
|
33
77
|
|
34
|
-
-
|
35
|
-
-
|
36
|
-
-
|
78
|
+
- nruth, kddeisz - Ensure unary operators on method calls that are sending operators get the correct scanner events.
|
79
|
+
- cvoege, kddeisz - Do not add parentheses when they're not needed to non-breaking command_calls with ternary arguments.
|
80
|
+
- valscion, kddeisz - Print method chains more nicely off array and hash literals.
|
37
81
|
|
38
82
|
## [1.2.4] - 2021-01-03
|
39
83
|
|
40
84
|
### Added
|
41
85
|
|
42
|
-
-
|
86
|
+
- andyw8 - Explain usage with Rubocop, as well as shipping a rubocop.yml config.
|
43
87
|
|
44
88
|
### Changed
|
45
89
|
|
46
|
-
-
|
47
|
-
-
|
90
|
+
- kddeisz - Reduce JSON size passing from Ruby process to node process by changing `char_start` -> `sc`, `char_end` -> `ec`, `start` -> `sl`, `end` -> `el`.
|
91
|
+
- kddeisz - Up the max buffer size between the Ruby and node processes to 15K.
|
48
92
|
|
49
93
|
## [1.2.3] - 2021-01-02
|
50
94
|
|
51
95
|
### Changed
|
52
96
|
|
53
|
-
-
|
54
|
-
-
|
55
|
-
-
|
56
|
-
-
|
57
|
-
-
|
58
|
-
-
|
97
|
+
- lukyth, kddeisz - Ensure if a ternary breaks into an `if..else..end` within a `command_call` node that parentheses are added.
|
98
|
+
- AlanFoster, kddeisz - Ensure you consume the optional `do` keyword on `while` and `until` loops so that it doesn't confuse the parser.
|
99
|
+
- AlanFoster, kddeisz - Ensure key-value pairs split on line when the key has a comment attached within a hash.
|
100
|
+
- AlanFoster, kddeisz - Fix for `for` loops that have multiple index variables.
|
101
|
+
- AlanFoster, kddeisz - Fix parsing very large files by reducing the size of the JSON output from the parser.
|
102
|
+
- AlanFoster, kddeisz - Ensure you don't skip parentheses if you're returning a value with the `not` unary operator.
|
59
103
|
|
60
104
|
## [1.2.2] - 2021-01-01
|
61
105
|
|
62
106
|
### Changed
|
63
107
|
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
-
|
68
|
-
-
|
108
|
+
- nathan-beam - Gem does not work with CMD/Powershell.
|
109
|
+
- blampe, kddeisz - Comments inside keyword parameters in method declarations are not printed.
|
110
|
+
- blampe, kddeisz - `command_call` nodes with unary operators incorrectly parse their operator.
|
111
|
+
- blampe, kddeisz - Returning multiple values where the first has parentheses was incorrectly removing the remaining values.
|
112
|
+
- johncsnyder, kddeisz - Call chains whose left-most receiver is a no-indent expression should not indent their entire chain.
|
69
113
|
|
70
114
|
## [1.2.1] - 2020-12-27
|
71
115
|
|
72
116
|
### Changed
|
73
117
|
|
74
|
-
-
|
75
|
-
-
|
76
|
-
-
|
77
|
-
-
|
78
|
-
-
|
118
|
+
- kddeisz - Handle single-line method definitions with parameters.
|
119
|
+
- kddeisz - Handle hash and array patterns nested within find patterns.
|
120
|
+
- kddeisz - Handle rightward assignment.
|
121
|
+
- kddeisz - Handle find patterns with named boundaries.
|
122
|
+
- kddeisz - Handle rightward assignment in conditionals.
|
79
123
|
|
80
124
|
## [1.2.0] - 2020-12-26
|
81
125
|
|
82
126
|
### Added
|
83
127
|
|
84
|
-
-
|
85
|
-
-
|
128
|
+
- kddeisz - Support for the `fndptn` node for Ruby 3.0 pattern matching.
|
129
|
+
- kddeisz - Support for Ruby 3.0+ single-line method definitions.
|
86
130
|
|
87
131
|
## [1.1.0] - 2020-12-20
|
88
132
|
|
89
133
|
### Added
|
90
134
|
|
91
|
-
-
|
135
|
+
- kddeisz - Now that the comments are all fixed up, we can support `# prettier-ignore` comments.
|
92
136
|
|
93
137
|
### Changed
|
94
138
|
|
95
|
-
-
|
96
|
-
-
|
97
|
-
-
|
98
|
-
-
|
99
|
-
-
|
139
|
+
- rindek, kddeisz - Do not remove parentheses when receiver looks like a constant.
|
140
|
+
- rindek, kddeisz - Do not remove parentheses when using the special `call` syntax with no arguments.
|
141
|
+
- ykpythemind - Do not change regexp bounds if the body has certain content.
|
142
|
+
- karanmandal, kddeisz - Correctly print for loops.
|
143
|
+
- rafbm, kddeisz - If there are method chains with arguments only at the end, we should group the method chain and the method args.
|
100
144
|
|
101
145
|
## [1.0.1] - 2020-12-12
|
102
146
|
|
103
147
|
### Changed
|
104
148
|
|
105
|
-
-
|
149
|
+
- steobrien, kddeisz - Ensure leading comments in empty array and hash literals do not duplicate.
|
106
150
|
|
107
151
|
## [1.0.0] - 2020-12-11
|
108
152
|
|
109
153
|
### Changed
|
110
154
|
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
-
|
115
|
-
-
|
155
|
+
- kddeisz - Do not unescape double quotes in a single quote string.
|
156
|
+
- kddeisz - Only force braces on regexp for spaces and equals if it's inside a command or command_call.
|
157
|
+
- kddeisz - Leave Sorbet type annotations in place.
|
158
|
+
- kddeisz - Don't group hash contents, just allow them to break with their parent node.
|
159
|
+
- kddeisz - Honor the UTF-8 lang passed in through ENV vars.
|
116
160
|
|
117
161
|
## [1.0.0-rc2] - 2020-12-10
|
118
162
|
|
119
163
|
### Changed
|
120
164
|
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
124
|
-
-
|
125
|
-
-
|
126
|
-
-
|
127
|
-
-
|
165
|
+
- kddeisz - Print hashes with consistent keys (e.g., if one key cannot be a hash label, use all hash rockets).
|
166
|
+
- kddeisz - Respect using `o` or not using `o` for octal numbers.
|
167
|
+
- kddeisz - Ensure `when` clauses with multiple predicates that can be split into multiple lines are split correctly.
|
168
|
+
- kddeisz - Ensure hash literal is split correctly when only its contents would fit on one line.
|
169
|
+
- kddeisz - Simplify `toProc` checks by not calling if the option is disabled.
|
170
|
+
- johncsnyder, kddeisz - Add `method_add_block` to the potential like of method calls that can be chained.
|
171
|
+
- kddeisz - Add the `rubyArrayLiteral` option for disabling automatically turning into array literals.
|
128
172
|
|
129
173
|
## [1.0.0-rc1] - 2020-12-09
|
130
174
|
|
131
175
|
### Changed
|
132
176
|
|
133
|
-
-
|
177
|
+
- kddeisz - Rename options to prep for v1.0 release.
|
134
178
|
- `addTrailingCommas` -> `trailingComma`, `"es5"` means `true`
|
135
179
|
- `inlineConditionals` and `inlineLoops` -> `rubyModifier`
|
136
180
|
- `preferHashLabels` -> `rubyHashLabel`
|
137
181
|
- `preferSingleQuotes` -> `rubySingleQuote`
|
138
182
|
- `toProcTransform` -> `rubyToProc`
|
139
|
-
-
|
140
|
-
-
|
141
|
-
-
|
183
|
+
- andyw8, kddeisz - Fix for Ruby `2.5.1` dyna_symbols. Turns out they were previously incorrectly reported as `xstring` nodes.
|
184
|
+
- andyw8, kddeisz - Fix for plain `rescue` nodes with only comments in the body.
|
185
|
+
- andyw8, kddeisz - Move declaration-type comments up to the line in the original source, as in:
|
142
186
|
|
143
187
|
```ruby
|
144
188
|
def foo # :nodoc:
|
@@ -148,12 +192,12 @@ end
|
|
148
192
|
|
149
193
|
The comment in the above example should stay in place.
|
150
194
|
|
151
|
-
-
|
152
|
-
-
|
153
|
-
-
|
154
|
-
-
|
155
|
-
-
|
156
|
-
-
|
195
|
+
- janklimo - Respect special call syntax, e.g., `a.(1, 2, 3)` should remain the same.
|
196
|
+
- kddeisz - Fix up a bug with `ensure` being used in a `bodystmt` and not a `begin`.
|
197
|
+
- kddeisz - Fix up a bug with negative ranges, e.g., `-4..-3`.
|
198
|
+
- kddeisz - Fix up a bug with operator aliases, e.g., `alias << push`.
|
199
|
+
- kddeisz - Fix up a bug with calls and unary nodes, e.g., `!!foo&.bar`.
|
200
|
+
- kddeisz - Fix up a bug with multiple rescue clauses and comments, e.g.,
|
157
201
|
|
158
202
|
```ruby
|
159
203
|
begin
|
@@ -163,64 +207,64 @@ rescue Foo, Bar
|
|
163
207
|
end
|
164
208
|
```
|
165
209
|
|
166
|
-
-
|
167
|
-
-
|
168
|
-
-
|
169
|
-
-
|
170
|
-
-
|
171
|
-
-
|
172
|
-
-
|
173
|
-
-
|
174
|
-
-
|
175
|
-
-
|
176
|
-
-
|
177
|
-
-
|
178
|
-
-
|
179
|
-
|
180
|
-
|
210
|
+
- kddeisz - Handle string literals that start with `%Q`.
|
211
|
+
- kddeisz - Handle question method methods in the predicate of an if with a comment in the body.
|
212
|
+
- kddeisz - Fix bare `break` with comments immediately after.
|
213
|
+
- kddeisz - Fix for heredocs with comments immediately after the declaration.
|
214
|
+
- kddeisz - Fix for comments when you're defining a method whose name overlaps with a keyword.
|
215
|
+
- kddeisz - Don't automatically indent inside interpolated expressions from within a heredoc.
|
216
|
+
- kddeisz - Don't convert into string literal arrays if the elements have brackets.
|
217
|
+
- kddeisz - Ensure you break the parent when there is an assignment in the predicate of a loop.
|
218
|
+
- kddeisz - Fix up a bug with keyword aliases, e.g., `alias in within`.
|
219
|
+
- kddeisz - Force using braces for regex if a regex starts with a blank space.
|
220
|
+
- kddeisz - Force using braces for regex if a regex starts with an equals sign.
|
221
|
+
- kddeisz - Fix up a bug with constant aliases, e.g., `alias in IN`.
|
222
|
+
- andyw8, kddeisz - Ensure `rescue` comments stay on the same line as their declaration.
|
223
|
+
|
224
|
+
## [0.22.0] - 2020-12-08
|
181
225
|
|
182
226
|
### Changed
|
183
227
|
|
184
|
-
-
|
185
|
-
-
|
186
|
-
-
|
187
|
-
-
|
188
|
-
-
|
189
|
-
-
|
190
|
-
-
|
191
|
-
-
|
192
|
-
-
|
193
|
-
-
|
228
|
+
- flyerhzm - Print method chains by one indentation.
|
229
|
+
- mmcnl, kddeisz - Handle heredocs and blocks being passed to the same method.
|
230
|
+
- johncsnyder, kddeisz - Ensure correct formatting when breaking up conditionals with `inlineConditionals: false`.
|
231
|
+
- Rsullivan00 - Ensure that when ternaries as command arguments get broken into multiple lines we add the necessary parentheses.
|
232
|
+
- jbielick - Maintain parse order during if/unless modifier expressions
|
233
|
+
- flyerhzm - Slight prettifying of wrapped args if doc length is under a certain value.
|
234
|
+
- github0013, kddeisz - Ensure `not` keeps parentheses if they are being used.
|
235
|
+
- jbielick - Print heredocs consistently.
|
236
|
+
- kddeisz - Completely revamp the way we handle comments.
|
237
|
+
- kddeisz - Support `hshptn` and the remaining missing pattern matching syntax.
|
194
238
|
|
195
239
|
## [0.21.0] - 2020-12-02
|
196
240
|
|
197
241
|
### Changed
|
198
242
|
|
199
|
-
-
|
200
|
-
-
|
201
|
-
-
|
202
|
-
-
|
203
|
-
-
|
204
|
-
-
|
205
|
-
-
|
206
|
-
-
|
207
|
-
-
|
243
|
+
- kddeisz, ryan-hunter-pc - Explicitly handle `break` and `next` keyword parentheses.
|
244
|
+
- jbielick, kddeisz - Don't convert between `lambda {}` and `-> {}`. Technically it's breaking the semantics of the program. Also because lambda method call arguments can't handle everything that stabby lambda can.
|
245
|
+
- kddeisz - Turn off the `Symbol#to_proc` transform by default.
|
246
|
+
- janklimo, kddeisz - Properly handle trailing commas on hash arguments.
|
247
|
+
- coiti, kddeisz - Properly handle parentheses when necessary on if/unless statements and while/until loops.
|
248
|
+
- Rsullivan00 - Prevent `command` and `command_call` nodes from being turned into ternaries.
|
249
|
+
- kddeisz - Better handling of the `alias` node with and without comments.
|
250
|
+
- kddeisz - Better handling of the `BEGIN` and `END` nodes with and without comments.
|
251
|
+
- kddeisz - Much better handling of heredocs where now there is a consistent `heredoc` node instead of multiple.
|
208
252
|
|
209
253
|
## [0.20.1] - 2020-09-04
|
210
254
|
|
211
255
|
### Changed
|
212
256
|
|
213
|
-
-
|
257
|
+
- ftes, kddeisz - Properly escape HAML plain text statements that start with special HAML characters.
|
214
258
|
|
215
259
|
### Removed
|
216
260
|
|
217
|
-
-
|
261
|
+
- kddeisz - I'm stripping out the HAML plugin and putting it into its own package (`@prettier/plugin-haml`). It's become too difficult to maintain within this repo, and it's confusing for contributors because there are some things that work with Ruby and some things that don't. This is going to simplify maintenance. This should probably be a major version bump but since we're still pre `1.0` I'm going to leave it as a patch.
|
218
262
|
|
219
263
|
## [0.20.0] - 2020-08-28
|
220
264
|
|
221
265
|
### Added
|
222
266
|
|
223
|
-
-
|
267
|
+
- kddeisz - Allow embedded formatting on heredocs by the name placed at the start. For example,
|
224
268
|
|
225
269
|
<!-- prettier-ignore -->
|
226
270
|
```ruby
|
@@ -233,37 +277,37 @@ JAVASCRIPT
|
|
233
277
|
|
234
278
|
### Changed
|
235
279
|
|
236
|
-
-
|
280
|
+
- mmainz - Fix the encoding setting such that we're not overwriting the entire set of environment variables.
|
237
281
|
|
238
282
|
## [0.19.1] - 2020-08-21
|
239
283
|
|
240
284
|
### Changed
|
241
285
|
|
242
|
-
-
|
243
|
-
-
|
244
|
-
-
|
245
|
-
-
|
286
|
+
- Rsullivan00 - Do not tranform word-literal arrays when there is an escape sequence.
|
287
|
+
- steobrien, kddeisz - Do not indent heredocs with calls more than they should be.
|
288
|
+
- jpickwell - Include .simplecov in filenames
|
289
|
+
- github0013, kddeisz - Ensure we're parsing ruby files using UTF-8 regardless of the system encoding.
|
246
290
|
|
247
291
|
## [0.19.0] - 2020-07-03
|
248
292
|
|
249
293
|
### Added
|
250
294
|
|
251
|
-
-
|
252
|
-
-
|
295
|
+
- ryan-hunter-pc - Add the option to disable the `Symbol#to_proc` transform.
|
296
|
+
- 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`.
|
253
297
|
|
254
298
|
## [0.18.2] - 2020-05-01
|
255
299
|
|
256
300
|
### Changed
|
257
301
|
|
258
|
-
-
|
259
|
-
-
|
260
|
-
-
|
302
|
+
- alse - Support `vscodeLanguageIds` for HAML.
|
303
|
+
- ShayDavidson, kddeisz - Don't allow replacing if/else with ternary if there's an assignment in the predicate.
|
304
|
+
- janklimo - Do not add an empty line after `rescue` when the block is empty.
|
261
305
|
|
262
306
|
## [0.18.1] - 2020-04-05
|
263
307
|
|
264
308
|
### Changed
|
265
309
|
|
266
|
-
-
|
310
|
+
- petevk, kddeisz - Use braces for block format iff it was originally a brace block, otherwise you could be changing precedence. For example:
|
267
311
|
|
268
312
|
<!-- prettier-ignore -->
|
269
313
|
```ruby
|
@@ -276,7 +320,7 @@ end.to raise_error
|
|
276
320
|
|
277
321
|
should maintain its `do...end` and not switch to inline braces otherwise the brace might get associated with the `1`.
|
278
322
|
|
279
|
-
-
|
323
|
+
- flyerhzm - Rewrite operators binary parser, as in:
|
280
324
|
|
281
325
|
<!-- prettier-ignore -->
|
282
326
|
```ruby
|
@@ -287,10 +331,10 @@ should maintain its `do...end` and not switch to inline braces otherwise the bra
|
|
287
331
|
[1]
|
288
332
|
```
|
289
333
|
|
290
|
-
-
|
291
|
-
-
|
292
|
-
-
|
293
|
-
-
|
334
|
+
- 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.
|
335
|
+
- 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.
|
336
|
+
- ftes, kddeisz - Don't explicitly require JSON if it has already been loaded, as this can lead to rubygems activation errors.
|
337
|
+
- mmainz, kddeisz - Handle heredocs as the receivers of call nodes, as in:
|
294
338
|
|
295
339
|
<!-- prettier-ignore -->
|
296
340
|
```ruby
|
@@ -299,7 +343,7 @@ foo = <<~TEXT.strip
|
|
299
343
|
TEXT
|
300
344
|
```
|
301
345
|
|
302
|
-
-
|
346
|
+
- github0013, kddeisz - Leave parentheses in place if the value of a return node contains a binary with low operator precedence, as in:
|
303
347
|
|
304
348
|
<!-- prettier-ignore -->
|
305
349
|
```ruby
|
@@ -310,13 +354,13 @@ return (a or b) if c?
|
|
310
354
|
|
311
355
|
### Added
|
312
356
|
|
313
|
-
-
|
357
|
+
- kddeisz - Support for the `nokw_param` node for specifying when methods should no accept keywords, as in:
|
314
358
|
|
315
359
|
```ruby
|
316
360
|
def foo(**nil); end
|
317
361
|
```
|
318
362
|
|
319
|
-
-
|
363
|
+
- kddeisz - Support for the `args_forward` node for forwarding all types of arguments, as in:
|
320
364
|
|
321
365
|
```ruby
|
322
366
|
def foo(...)
|
@@ -326,13 +370,13 @@ end
|
|
326
370
|
|
327
371
|
### Changed
|
328
372
|
|
329
|
-
-
|
373
|
+
- ftes, kddeisz - Handled 3 or more classes on a node in HAML, as in:
|
330
374
|
|
331
375
|
```haml
|
332
376
|
%table.table.is-striped.is-hoverable
|
333
377
|
```
|
334
378
|
|
335
|
-
-
|
379
|
+
- ftes, kddeisz - Better handling of indentation of `if/elsif/else`, `unless/elsif/else`, and `case/when` branches, as in:
|
336
380
|
|
337
381
|
```haml
|
338
382
|
.column.is-12
|
@@ -342,9 +386,9 @@ end
|
|
342
386
|
FALSE
|
343
387
|
```
|
344
388
|
|
345
|
-
-
|
346
|
-
-
|
347
|
-
-
|
389
|
+
- tobyndockerill - Format numbers with underscores after 4 digits, as opposed to 3.
|
390
|
+
- ianks - Improve performance by using `--disable-gems`.
|
391
|
+
- flyerhzm - Calls are grouped such that after an end parenthesis the following call will not be indented, as in:
|
348
392
|
|
349
393
|
<!-- prettier-ignore -->
|
350
394
|
```ruby
|
@@ -365,7 +409,7 @@ Config::Download.new(
|
|
365
409
|
).perform
|
366
410
|
```
|
367
411
|
|
368
|
-
-
|
412
|
+
- pje, kddeisz - Method definition bodies (on `defs` nodes) should dedent if a helper method is called. As in:
|
369
413
|
|
370
414
|
<!-- prettier-ignore -->
|
371
415
|
```ruby
|
@@ -383,7 +427,7 @@ private def self.foo
|
|
383
427
|
end
|
384
428
|
```
|
385
429
|
|
386
|
-
-
|
430
|
+
- masqita, kddeisz - Inline variable assignment within a predicate should force the conditional to break, as in:
|
387
431
|
|
388
432
|
```ruby
|
389
433
|
array.each do |element|
|
@@ -393,26 +437,26 @@ array.each do |element|
|
|
393
437
|
end
|
394
438
|
```
|
395
439
|
|
396
|
-
-
|
397
|
-
-
|
398
|
-
-
|
440
|
+
- hafley66, kddeisz - Handle empty `while` and `until` blocks.
|
441
|
+
- Fruetel, kddeisz - Simplify string escape pattern by locking on any escape sequence.
|
442
|
+
- flyerhzm, kddeisz - Properly handle string quotes on symbols in hash keys.
|
399
443
|
|
400
444
|
## [0.17.0] - 2019-12-12
|
401
445
|
|
402
446
|
### Added
|
403
447
|
|
404
|
-
-
|
405
|
-
-
|
448
|
+
- matt-wratt - Better support for explicit `return` nodes with empty arrays or arrays with a single element.
|
449
|
+
- jrdioko, kddeisz - Alignment of `not_to` is explicitly allowed to not indent to better support rspec.
|
406
450
|
|
407
451
|
### Changed
|
408
452
|
|
409
|
-
-
|
453
|
+
- gin0606 - The max buffer being passed into the Ruby process is now up to 10MB.
|
410
454
|
|
411
455
|
## [0.16.0] - 2019-11-14
|
412
456
|
|
413
457
|
### Added
|
414
458
|
|
415
|
-
-
|
459
|
+
- mmainz, kddeisz - Support for extra commas in multiple assignment, as it changes the meaning. For example,
|
416
460
|
|
417
461
|
<!-- prettier-ignore -->
|
418
462
|
```ruby
|
@@ -421,12 +465,12 @@ a, = [1, 2, 3]
|
|
421
465
|
|
422
466
|
would previously get printed as `a = [1, 2, 3]`, which changes the value of `a` from `1` to the value of the entire array.
|
423
467
|
|
424
|
-
-
|
468
|
+
- kddeisz - Experimental support for the HAMtemplate language.
|
425
469
|
|
426
470
|
### Changed
|
427
471
|
|
428
|
-
-
|
429
|
-
-
|
472
|
+
- 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.
|
473
|
+
- jamescostian, kddeisz - Force ternary breaking when using the lower-precendence operators `and` and `or`. For example,
|
430
474
|
|
431
475
|
<!-- prettier-ignore -->
|
432
476
|
```ruby
|
@@ -439,7 +483,7 @@ end
|
|
439
483
|
|
440
484
|
the previous expression was being transformed into a ternary which was invalid ruby. Instead it now stays broken out into an if/else block.
|
441
485
|
|
442
|
-
-
|
486
|
+
- localhostdotdev], [@joeyjoejoejr], [@eins78, kddeisz - Better support for embedded expressions inside heredocs. For example,
|
443
487
|
|
444
488
|
<!-- prettier-ignore -->
|
445
489
|
```ruby
|
@@ -452,14 +496,14 @@ HERE
|
|
452
496
|
|
453
497
|
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 `#{`.
|
454
498
|
|
455
|
-
-
|
499
|
+
- jamescostian, kddeisz - Fix up `return` node printing. When returning multiple values, you need to return an array literal as opposed to using parentheses.
|
456
500
|
|
457
501
|
## [0.15.1] - 2019-11-05
|
458
502
|
|
459
503
|
### Changed
|
460
504
|
|
461
|
-
-
|
462
|
-
-
|
505
|
+
- AlanFoster - Add `bin/lex` for viewing the tokenized result of Ripper on Ruby code.
|
506
|
+
- jakeprime, kddeisz - When predicates from within an `if`, `unless`, `while`, or `until` loop break the line, they should be aligned together. For example,
|
463
507
|
|
464
508
|
<!-- prettier-ignore -->
|
465
509
|
```ruby
|
@@ -478,7 +522,7 @@ if foooooo ||
|
|
478
522
|
end
|
479
523
|
```
|
480
524
|
|
481
|
-
-
|
525
|
+
- jamescostian], [@AlanFoster - Empty `if`, and `unless` conditionals are now handled gracefully:
|
482
526
|
|
483
527
|
<!-- prettier-ignore -->
|
484
528
|
```ruby
|
@@ -486,7 +530,7 @@ if foo?
|
|
486
530
|
end
|
487
531
|
```
|
488
532
|
|
489
|
-
-
|
533
|
+
- mmainz, kddeisz - Hash keys are not converted to keyword syntax if they would make invalid symbols. For example,
|
490
534
|
|
491
535
|
<!-- prettier-ignore -->
|
492
536
|
```ruby
|
@@ -495,9 +539,9 @@ end
|
|
495
539
|
|
496
540
|
cannot be translated into `[]:` as that is an invalid symbol. Instead, it stays with the hash rocket syntax.
|
497
541
|
|
498
|
-
-
|
499
|
-
-
|
500
|
-
-
|
542
|
+
- 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`).
|
543
|
+
- 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.
|
544
|
+
- 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:
|
501
545
|
|
502
546
|
<!-- prettier-ignore -->
|
503
547
|
```ruby
|
@@ -514,14 +558,14 @@ hash[:key] = (break :value while false)
|
|
514
558
|
|
515
559
|
That will guarantee that the expressions are equivalent.
|
516
560
|
|
517
|
-
-
|
561
|
+
- AlanFoster - Fix crashes that were happening with `ignored_nl` nodes.
|
518
562
|
|
519
563
|
## [0.15.0] - 2019-08-06
|
520
564
|
|
521
565
|
### Changed
|
522
566
|
|
523
|
-
-
|
524
|
-
-
|
567
|
+
- 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.
|
568
|
+
- 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,
|
525
569
|
|
526
570
|
<!-- prettier-ignore -->
|
527
571
|
```ruby
|
@@ -541,8 +585,8 @@ end
|
|
541
585
|
|
542
586
|
because that would never execute `foo` if `bar` is falsy, whereas in the initial example it would have.
|
543
587
|
|
544
|
-
-
|
545
|
-
-
|
588
|
+
- 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.
|
589
|
+
- 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,
|
546
590
|
|
547
591
|
<!-- prettier-ignore -->
|
548
592
|
```ruby
|
@@ -573,7 +617,7 @@ return(
|
|
573
617
|
)
|
574
618
|
```
|
575
619
|
|
576
|
-
-
|
620
|
+
- 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:
|
577
621
|
|
578
622
|
<!-- prettier-ignore -->
|
579
623
|
```ruby
|
@@ -598,11 +642,11 @@ but now gets formatted as:
|
|
598
642
|
|
599
643
|
### Added
|
600
644
|
|
601
|
-
-
|
645
|
+
- 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.
|
602
646
|
|
603
647
|
### Changed
|
604
648
|
|
605
|
-
-
|
649
|
+
- 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,
|
606
650
|
|
607
651
|
<!-- prettier-ignore -->
|
608
652
|
```ruby
|
@@ -620,8 +664,8 @@ now correctly gets transformed into:
|
|
620
664
|
(foo ? 1 : 2).to_s
|
621
665
|
```
|
622
666
|
|
623
|
-
-
|
624
|
-
-
|
667
|
+
- acrewdson, kddeisz - Fixed a bug where multiple newlines at the end of the file would cause a crash.
|
668
|
+
- 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,
|
625
669
|
|
626
670
|
<!-- prettier-ignore -->
|
627
671
|
```ruby
|
@@ -636,11 +680,11 @@ must stay the same.
|
|
636
680
|
|
637
681
|
### Added
|
638
682
|
|
639
|
-
-
|
683
|
+
- kddeisz - Added `locStart` and `locEnd` functions to support `--cursor-offset`.
|
640
684
|
|
641
685
|
### Changed
|
642
686
|
|
643
|
-
-
|
687
|
+
- 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,
|
644
688
|
|
645
689
|
<!-- prettier-ignore -->
|
646
690
|
```ruby
|
@@ -665,7 +709,7 @@ end
|
|
665
709
|
|
666
710
|
but now gets printed correctly.
|
667
711
|
|
668
|
-
-
|
712
|
+
- petevk, kddeisz - Double splats inside a hash were previously failing to print. For example,
|
669
713
|
|
670
714
|
<!-- prettier-ignore -->
|
671
715
|
```ruby
|
@@ -678,12 +722,12 @@ would fail to print, but now works.
|
|
678
722
|
|
679
723
|
### Changed
|
680
724
|
|
681
|
-
-
|
682
|
-
-
|
683
|
-
-
|
684
|
-
-
|
685
|
-
-
|
686
|
-
-
|
725
|
+
- kddeisz - Move arg, assign, constant, flow, massign, operator, scope, and statement nodes into their own files.
|
726
|
+
- 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.
|
727
|
+
- kddeisz - Better support for excessed commas in block args. Previously `proc { |x,| }` would add an extra space, but now it does not.
|
728
|
+
- kddeisz - Add a lot more documentation to the parser.
|
729
|
+
- 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.
|
730
|
+
- kddeisz - `if` and `unless` nodes used to not be able to handle if a comment was the only statement in the body. For example,
|
687
731
|
|
688
732
|
<!-- prettier-ignore -->
|
689
733
|
```ruby
|
@@ -701,7 +745,7 @@ would get printed as
|
|
701
745
|
|
702
746
|
Now the `if` and `unless` printers check for the presence of single comments.
|
703
747
|
|
704
|
-
-
|
748
|
+
- 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,
|
705
749
|
|
706
750
|
<!-- prettier-ignore -->
|
707
751
|
```ruby
|
@@ -712,7 +756,7 @@ end
|
|
712
756
|
|
713
757
|
would fail, but now works.
|
714
758
|
|
715
|
-
-
|
759
|
+
- xipgroc, kddeisz - Comments on lines with array references were previously deleting the array references entirely. For example,
|
716
760
|
|
717
761
|
<!-- prettier-ignore -->
|
718
762
|
```ruby
|
@@ -725,323 +769,323 @@ would previously result in `array[]`, but now prints properly.
|
|
725
769
|
|
726
770
|
### Changed
|
727
771
|
|
728
|
-
-
|
729
|
-
-
|
772
|
+
- kddeisz - When symbol literal hash keys end with `=`, they cannot be transformed into hash labels.
|
773
|
+
- xipgroc, kddeisz - Fixed when blocks on methods with no arguments are transformed into `to_proc` syntax.
|
730
774
|
|
731
775
|
## [0.12.1] - 2019-04-22
|
732
776
|
|
733
777
|
### Changed
|
734
778
|
|
735
|
-
-
|
736
|
-
-
|
737
|
-
-
|
779
|
+
- 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.
|
780
|
+
- jpickwell, kddeisz - Calling `super` with a block and no args was causing the parser to fail when attempting to inspect lambda nodes.
|
781
|
+
- kddeisz - Support better breaking within interpolation by grouping the interpolated content.
|
738
782
|
|
739
783
|
## [0.12.0] - 2019-04-18
|
740
784
|
|
741
785
|
### Added
|
742
786
|
|
743
|
-
-
|
787
|
+
- kddeisz - Automatically convert `lambda { ... }` method calls into `-> { ... }` literals.
|
744
788
|
|
745
789
|
## [0.11.0] - 2019-04-18
|
746
790
|
|
747
791
|
### Added
|
748
792
|
|
749
|
-
-
|
750
|
-
-
|
751
|
-
-
|
752
|
-
-
|
753
|
-
-
|
754
|
-
-
|
755
|
-
-
|
756
|
-
-
|
793
|
+
- kddeisz - Support for parsing things with a ruby shebang (e.g., `#!/usr/bin/env ruby` or `#!/usr/bin/ruby`).
|
794
|
+
- kddeisz - Big tests refactor.
|
795
|
+
- kddeisz - Make multiple `when` predicates break at 80 chars and then wrap to be inline with the other predicates.
|
796
|
+
- kddeisz - Automatically add underscores in large numbers that aren't already formatted.
|
797
|
+
- AlanFoster - Better support for inline access control modifiers.
|
798
|
+
- jpickwell, kddeisz - Better support for heredocs in hash literals.
|
799
|
+
- kddeisz - Better support for heredocs in array literals.
|
800
|
+
- kddeisz - Support automatically transforming `def/begin/rescue/end/end` into `def/rescue/end`.
|
757
801
|
|
758
802
|
### Changed
|
759
803
|
|
760
|
-
-
|
761
|
-
-
|
762
|
-
-
|
763
|
-
-
|
764
|
-
-
|
765
|
-
-
|
766
|
-
-
|
767
|
-
-
|
768
|
-
-
|
769
|
-
-
|
804
|
+
- deecewan - Fixed support for dynamic string hash keys.
|
805
|
+
- kddeisz - Moved `case/when` into its own file and added better documentation.
|
806
|
+
- kddeisz - Moved `begin/rescue` into its own file.
|
807
|
+
- AlanFoster - Automatically add newlines around access modifiers.
|
808
|
+
- kddeisz - Alignment of command calls with arguments is fixed.
|
809
|
+
- aaronjensen, kddeisz - Alignment of `to` is explicitly allowed to not indent to better support rspec.
|
810
|
+
- kddeisz - Fix up the `to_proc` transform so that it works with other argument handling appropriately.
|
811
|
+
- kddeisz - Fixed regression on regexp comments.
|
812
|
+
- CodingItWrong, kddeisz - Fix up block delimiters when nested inside a `command` or `command_call` node.
|
813
|
+
- kddeisz - Moved hashes into its own file.
|
770
814
|
|
771
815
|
## [0.10.0] - 2019-03-25
|
772
816
|
|
773
817
|
### Added
|
774
818
|
|
775
|
-
-
|
776
|
-
-
|
819
|
+
- kddeisz - Support for block-local variables.
|
820
|
+
- kddeisz - Support for dyna-symbols that are using single quotes.
|
777
821
|
|
778
822
|
### Changed
|
779
823
|
|
780
|
-
-
|
781
|
-
-
|
824
|
+
- kddeisz - Force method calls after arrays, blocks, hashes, and xstrings to hang onto the end of the previous nodes.
|
825
|
+
- kddeisz - Check before anything else for an invalid ruby version.
|
782
826
|
|
783
827
|
## [0.9.1] - 2019-03-24
|
784
828
|
|
785
829
|
### Changed
|
786
830
|
|
787
|
-
-
|
788
|
-
-
|
831
|
+
- kddeisz - Better support string quotes by favoring what the user chose if the string contains escape patterns.
|
832
|
+
- kddeisz - Better support heredocs within method calls.
|
789
833
|
|
790
834
|
## [0.9.0] - 2019-03-18
|
791
835
|
|
792
836
|
### Added
|
793
837
|
|
794
|
-
-
|
795
|
-
-
|
838
|
+
- kddeisz - Support the `hasPragma` function.
|
839
|
+
- kddeisz - Support the new `number_arg` node type in Ruby 2.7.
|
796
840
|
|
797
841
|
### Changed
|
798
842
|
|
799
|
-
-
|
843
|
+
- kddeisz - Limit the number of nodes that are allowed to turn into ternary expressions.
|
800
844
|
|
801
845
|
## [0.8.0] - 2019-03-08
|
802
846
|
|
803
847
|
### Added
|
804
848
|
|
805
|
-
-
|
806
|
-
-
|
807
|
-
-
|
808
|
-
-
|
849
|
+
- kddeisz - Add `eslint` and fix up existing violations.
|
850
|
+
- AlanFoster - Add the infra for the `prettier` ruby gem.
|
851
|
+
- kddeisz - Add a `rake` task for easier process integration for the ruby gem.
|
852
|
+
- kddeisz - Handle direct interpolation of strings with %w array literals (i.e., `["#{foo}"]` should not be transformed into a %w array).
|
809
853
|
|
810
854
|
### Changed
|
811
855
|
|
812
|
-
-
|
813
|
-
-
|
814
|
-
-
|
815
|
-
-
|
816
|
-
-
|
817
|
-
-
|
818
|
-
-
|
819
|
-
-
|
856
|
+
- kddeisz - Fix string escaping for hex digit bit patterns when there's only one character after the "x".
|
857
|
+
- AlanFoster - Don't allow line breaks between brace block params.
|
858
|
+
- johnschoeman - Switch over the array.rb test case to minitest.
|
859
|
+
- AlanFoster - Test improvements to allow running in parallel.
|
860
|
+
- johnschoeman - Switch over assign.rb test case to minitest.
|
861
|
+
- AlanFoster - Add a contributing guide.
|
862
|
+
- AlanFoster - Handle longer command nodes.
|
863
|
+
- kddeisz - Changed the ruby executable within the `prettier` gem to `rbprettier` for easier autocomplete.
|
820
864
|
|
821
865
|
### Removed
|
822
866
|
|
823
|
-
-
|
867
|
+
- kddeisz - All instances of the spread (`...`) operator so that we can support older versions of node.
|
824
868
|
|
825
869
|
## [0.7.0] - 2019-02-24
|
826
870
|
|
827
871
|
### Changed
|
828
872
|
|
829
|
-
-
|
830
|
-
-
|
831
|
-
-
|
832
|
-
-
|
833
|
-
-
|
834
|
-
-
|
835
|
-
-
|
836
|
-
-
|
837
|
-
-
|
838
|
-
-
|
839
|
-
-
|
840
|
-
-
|
841
|
-
-
|
842
|
-
-
|
843
|
-
-
|
844
|
-
-
|
873
|
+
- kddeisz - Support checking for escaping within strings to force double quotes (e.g., "\n").
|
874
|
+
- RossKinsella, kddeisz - Handle cases with empty class and module declarations that need to break.
|
875
|
+
- AlanFoster - Align the `bin/print` and `bin/sexp` APto support `bin/print` taking a filepath.
|
876
|
+
- AndrewRayCode, kddeisz - Support lambdas that don't break and are inline.
|
877
|
+
- AlanFoster - Switch over the numbers.rb test to minitest.
|
878
|
+
- AlanFoster - Switch over the kwargs.rb test to minitest.
|
879
|
+
- AlanFoster - Bail out early if the Ruby input is invalid.
|
880
|
+
- kddeisz - Support `__END__` content.
|
881
|
+
- AlanFoster - Fix up issue with whitespace being added within regexp that are multiline.
|
882
|
+
- AlanFoster - Better support for destructuring within multi assignment.
|
883
|
+
- kddeisz - Switch `next` test over to minitest.
|
884
|
+
- kddeisz - Handle multiple arguments to `next` with a space between.
|
885
|
+
- AndrewRayCode, kddeisz - Handle multi-line conditional predicate (should align with keyword).
|
886
|
+
- aaronjensen, kddeisz - Properly support adding trailing commas with and without blocks.
|
887
|
+
- AlanFoster, kddeisz - Fix regression of handling comments within arrays on array literals.
|
888
|
+
- AlanFoster - Support multiple arguments to `undef`.
|
845
889
|
|
846
890
|
## [0.6.3] - 2019-02-18
|
847
891
|
|
848
892
|
### Changed
|
849
893
|
|
850
|
-
-
|
851
|
-
-
|
852
|
-
-
|
853
|
-
-
|
894
|
+
- kddeisz - Switch over `binary` fixture to minitest.
|
895
|
+
- kddeisz - Reconfigure parser into multiple layer modules so that it's easier to understand and manage.
|
896
|
+
- kddeisz - Handle comments from within `begin`, `rescue`, `ensure`, `while`, and `until` nodes.
|
897
|
+
- kddeisz - Properly indent heredocs without taking into account current indentation level.
|
854
898
|
|
855
899
|
## [0.6.2] - 2019-02-17
|
856
900
|
|
857
901
|
### Changed
|
858
902
|
|
859
|
-
-
|
860
|
-
-
|
861
|
-
-
|
862
|
-
-
|
863
|
-
-
|
903
|
+
- AlanFoster - Handle regexp suffixes.
|
904
|
+
- kddeisz - Add support for testing the test fixtures with minitest.
|
905
|
+
- kddeisz - Switch over `alias` and `regexp` tests to minitest.
|
906
|
+
- aaronjensen, kddeisz - Break up method args to split into multiple lines.
|
907
|
+
- christoomey, kddeisz - Handle blocks args when trailing commas are on.
|
864
908
|
|
865
909
|
## [0.6.1] - 2019-02-15
|
866
910
|
|
867
911
|
### Changed
|
868
912
|
|
869
|
-
-
|
870
|
-
-
|
913
|
+
- meleyal, kddeisz - Fix Ruby 2.5 inline comments on `args_add_block` nodes.
|
914
|
+
- meleyal, kddeisz - Support passing `super()` explicitly with no arguments.
|
871
915
|
|
872
916
|
## [0.6.0] - 2019-02-14
|
873
917
|
|
874
918
|
### Added
|
875
919
|
|
876
|
-
-
|
877
|
-
-
|
878
|
-
-
|
879
|
-
-
|
880
|
-
-
|
920
|
+
- kddeisz - Handle non UTF-8 comments.
|
921
|
+
- kddeisz - Handle non UTF-8 identifiers.
|
922
|
+
- kddeisz - Handle non UTF-8 strings.
|
923
|
+
- kddeisz - Handle empty parens.
|
924
|
+
- kddeisz - Handle rescue with splats preceeding the exception names.
|
881
925
|
|
882
926
|
### Changed
|
883
927
|
|
884
|
-
-
|
885
|
-
-
|
928
|
+
- kddeisz - Use `JSON::fast_generate` to get the s-expressions back from the parser.
|
929
|
+
- NoahTheDuke, kddeisz - Handle broken lambdas from within `command` and `command_call` nodes.
|
886
930
|
|
887
931
|
## [0.5.2] - 2019-02-13
|
888
932
|
|
889
933
|
### Changed
|
890
934
|
|
891
|
-
-
|
935
|
+
- kddeisz - Support embedded expressions within strings that contain only keywords, as in `"#{super}"`.
|
892
936
|
|
893
937
|
## [0.5.1] - 2019-02-13
|
894
938
|
|
895
939
|
### Changed
|
896
940
|
|
897
|
-
-
|
898
|
-
-
|
899
|
-
-
|
941
|
+
- yuki24, kddeisz - Force `do` blocks that we know have to be `do` blocks to break.
|
942
|
+
- kmcq, kddeisz - Handle `command` and `command_call` nodes `do` blocks by forcing them to break.
|
943
|
+
- ashfurrow, kddeisz - Attach comments to full hash association nodes, not just the value.
|
900
944
|
|
901
945
|
## [0.5.0] - 2019-02-13
|
902
946
|
|
903
947
|
### Added
|
904
948
|
|
905
|
-
-
|
906
|
-
-
|
949
|
+
- kddeisz - Automatically convert arrays of all string literals to %w arrays.
|
950
|
+
- kddeisz - Automatically convert arrays of all symbol literals to %i arrays.
|
907
951
|
|
908
952
|
### Changed
|
909
953
|
|
910
|
-
-
|
911
|
-
-
|
912
|
-
-
|
954
|
+
- kddeisz - Move the `args_add` and `args_new` handling into the parser.
|
955
|
+
- uri, kddeisz - Change `command_call` nodes to properly indent when broken and to not add a trailing comma.
|
956
|
+
- kddeisz - Rename the `trailingComma` option to `addTrailingCommas` to not conflict with the JS option.
|
913
957
|
|
914
958
|
## [0.4.1] - 2019-02-12
|
915
959
|
|
916
960
|
### Changed
|
917
961
|
|
918
|
-
-
|
919
|
-
-
|
920
|
-
-
|
962
|
+
- kddeisz - Provide the `makeList` utility for the nodes that are lists from within ripper.
|
963
|
+
- awinograd, kddeisz - Again, this time for real, properly escape strings.
|
964
|
+
- kddeisz - Fix up trailing commas on command calls.
|
921
965
|
|
922
966
|
## [0.4.0] - 2019-02-12
|
923
967
|
|
924
968
|
### Added
|
925
969
|
|
926
|
-
-
|
970
|
+
- Overload119, kddeisz - Support the `trailingComma` configuration option (defaults to `false`).
|
927
971
|
|
928
972
|
### Changed
|
929
973
|
|
930
|
-
-
|
974
|
+
- NoahTheDuke, kddeisz - Pass the code to be formatted over `stdin`.
|
931
975
|
|
932
976
|
## [0.3.7] - 2019-02-11
|
933
977
|
|
934
978
|
### Changed
|
935
979
|
|
936
|
-
-
|
937
|
-
-
|
980
|
+
- kddeisz - Split up statements even if they started on the same line with `;`s unless they are within an embedded expression.
|
981
|
+
- kddeisz - Properly handle escaped quotes within strings.
|
938
982
|
|
939
983
|
## [0.3.6] - 2019-02-10
|
940
984
|
|
941
985
|
### Changed
|
942
986
|
|
943
|
-
-
|
944
|
-
-
|
987
|
+
- AlanFoster, kddeisz - Support the `not` operator properly.
|
988
|
+
- AlanFoster, kddeisz - Handle comments properly inside `if`, `unless`, and `when` nodes.
|
945
989
|
|
946
990
|
## [0.3.5] - 2019-02-09
|
947
991
|
|
948
992
|
### Changed
|
949
993
|
|
950
|
-
-
|
994
|
+
- kddeisz - Handle lonely operators in Ruby `2.5`.
|
951
995
|
|
952
996
|
## [0.3.4] - 2019-02-09
|
953
997
|
|
954
998
|
### Changed
|
955
999
|
|
956
|
-
-
|
957
|
-
-
|
958
|
-
-
|
959
|
-
-
|
960
|
-
-
|
961
|
-
-
|
1000
|
+
- kddeisz - Comments are now properly attached inside `defs` nodes.
|
1001
|
+
- kddeisz - Support multiple inline comments on nodes.
|
1002
|
+
- kddeisz - Support inline comments from within the `EXPR_END|EXPR_LABEL` lexer state.
|
1003
|
+
- cbothner - Stop transforming multistatement blocks with `to_proc`.
|
1004
|
+
- kddeisz - `do` blocks necessarily need to break their parent nodes.
|
1005
|
+
- eins78, kddeisz - Handle `next` node edge case with `args_add` as the body.
|
962
1006
|
|
963
1007
|
## [0.3.3] - 2019-02-09
|
964
1008
|
|
965
1009
|
### Changed
|
966
1010
|
|
967
|
-
-
|
968
|
-
-
|
1011
|
+
- bugthing, kddeisz - Command nodes within conditionals now break parents to disallow them from being turned into ternary expressions.
|
1012
|
+
- awinograd, kddeisz - Properly escape double quotes when using `preferSingleQuotes: false`.
|
969
1013
|
|
970
1014
|
## [0.3.2] - 2019-02-09
|
971
1015
|
|
972
1016
|
### Changed
|
973
1017
|
|
974
|
-
-
|
975
|
-
-
|
976
|
-
-
|
1018
|
+
- kddeisz - Don't define duplicated methods in the parser.
|
1019
|
+
- kddeisz - Let prettier know about `.rb` and `.rake` files so you don't have to specify the parser when running.
|
1020
|
+
- kddeisz - Renamed the package to @prettier/plugin-ruby.
|
977
1021
|
|
978
1022
|
## [0.3.1] - 2019-02-07
|
979
1023
|
|
980
1024
|
### Changed
|
981
1025
|
|
982
|
-
-
|
983
|
-
-
|
984
|
-
-
|
985
|
-
-
|
1026
|
+
- kddeisz - Automatically add parens to method declarations.
|
1027
|
+
- kddeisz - Handle comments on bare hash assocs.
|
1028
|
+
- kddeisz - Handle `method_add_block` nodes where the statements may be nested one more level.
|
1029
|
+
- kddeisz - Handle heredocs nested no matter how many levels deep.
|
986
1030
|
|
987
1031
|
## [0.3.0] - 2019-02-07
|
988
1032
|
|
989
1033
|
### Added
|
990
1034
|
|
991
|
-
-
|
992
|
-
-
|
1035
|
+
- kddeisz - Support squiggly heredocs.
|
1036
|
+
- kddeisz - Support straight heredocs.
|
993
1037
|
|
994
1038
|
### Changed
|
995
1039
|
|
996
|
-
-
|
997
|
-
-
|
998
|
-
-
|
999
|
-
-
|
1000
|
-
-
|
1001
|
-
-
|
1040
|
+
- kddeisz - Ignore current indentation when creating embdocs so that `=begin` is always at the beginning of the line.
|
1041
|
+
- kddeisz - Move `regexp_add` and `regexp_new` handling into the parser.
|
1042
|
+
- kddeisz - Move `xstring_add` and `xstring_new` handling into the parser.
|
1043
|
+
- kddeisz - Move `string_add` and `string_content` handling into the parser.
|
1044
|
+
- kddeisz - Move `mrhs_add` and `mrhs_new` handling into the parser.
|
1045
|
+
- kddeisz - Move `mlhs_add` and `mlhs_new` handling into the parser.
|
1002
1046
|
|
1003
1047
|
## [0.2.1] - 2019-02-06
|
1004
1048
|
|
1005
1049
|
### Changed
|
1006
1050
|
|
1007
|
-
-
|
1008
|
-
-
|
1009
|
-
-
|
1051
|
+
- kddeisz - Handle brace blocks on commands properly.
|
1052
|
+
- kddeisz - Break parent and return `do` blocks when called from a `command` node.
|
1053
|
+
- kddeisz - Handle edge cases with `if` statements where there is no body of the if (so it can't be converted to a ternary).
|
1010
1054
|
|
1011
1055
|
## [0.2.0] - 2019-02-06
|
1012
1056
|
|
1013
1057
|
### Added
|
1014
1058
|
|
1015
|
-
-
|
1016
|
-
-
|
1059
|
+
- kddeisz - Handle `methref` nodes from Ruby `2.7`.
|
1060
|
+
- kddeisz - Allow `module` nodes to shorten using `;` when the block is empty.
|
1017
1061
|
|
1018
1062
|
### Changed
|
1019
1063
|
|
1020
|
-
-
|
1021
|
-
-
|
1022
|
-
-
|
1023
|
-
-
|
1024
|
-
-
|
1025
|
-
-
|
1026
|
-
-
|
1027
|
-
-
|
1028
|
-
-
|
1064
|
+
- kddeisz - Handle splat within an array, as in `[1, 2, *foo]`.
|
1065
|
+
- kddeisz - Disallow comments from being attached to intermediary regex nodes.
|
1066
|
+
- kddeisz - Fix `to_proc` transforms to reference the method called as opposed to the parameter name.
|
1067
|
+
- kddeisz - Change statement lists to be generated within the parser instead of the printer, thereby allowing finer control over comments.
|
1068
|
+
- 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.
|
1069
|
+
- kddeisz - Allow comments to be attached to `CHAR` nodes.
|
1070
|
+
- kddeisz - Disallow comments from being attached to `args_new` nodes.
|
1071
|
+
- kddeisz - Track start and end lines so we can better insert block comments.
|
1072
|
+
- kddeisz - Handle intermediary array nodes in the parse for better comment handling.
|
1029
1073
|
|
1030
1074
|
## [0.1.2] - 2019-02-05
|
1031
1075
|
|
1032
1076
|
### Changed
|
1033
1077
|
|
1034
|
-
-
|
1078
|
+
- kddeisz - Handle guard clauses that return with no parens.
|
1035
1079
|
|
1036
1080
|
## [0.1.1] - 2019-02-05
|
1037
1081
|
|
1038
1082
|
### Changed
|
1039
1083
|
|
1040
|
-
-
|
1041
|
-
-
|
1042
|
-
-
|
1043
|
-
-
|
1044
|
-
-
|
1084
|
+
- kddeisz - Handle class method calls with the `::` operator.
|
1085
|
+
- kddeisz - Handle strings with apostrophes when using `preferSingleQuote`.
|
1086
|
+
- kddeisz - Have travis run multiple ruby versions.
|
1087
|
+
- kddeisz - Explicitly fail if ruby version is < `2.5`.
|
1088
|
+
- kddeisz - Disallow comments from being attached to intermediary string nodes.
|
1045
1089
|
|
1046
1090
|
## [0.1.0] - 2019-02-04
|
1047
1091
|
|
@@ -1049,7 +1093,12 @@ would previously result in `array[]`, but now prints properly.
|
|
1049
1093
|
|
1050
1094
|
- Initial release 🎉
|
1051
1095
|
|
1052
|
-
[unreleased]: https://github.com/prettier/plugin-ruby/compare/v1.4
|
1096
|
+
[unreleased]: https://github.com/prettier/plugin-ruby/compare/v1.5.4...HEAD
|
1097
|
+
[1.5.4]: https://github.com/prettier/plugin-ruby/compare/v1.5.3...v1.5.4
|
1098
|
+
[1.5.3]: https://github.com/prettier/plugin-ruby/compare/v1.5.2...v1.5.3
|
1099
|
+
[1.5.2]: https://github.com/prettier/plugin-ruby/compare/v1.5.1...v1.5.2
|
1100
|
+
[1.5.1]: https://github.com/prettier/plugin-ruby/compare/v1.5.0...v1.5.1
|
1101
|
+
[1.5.0]: https://github.com/prettier/plugin-ruby/compare/v1.4.0...v1.5.0
|
1053
1102
|
[1.4.0]: https://github.com/prettier/plugin-ruby/compare/v1.3.0...v1.4.0
|
1054
1103
|
[1.3.0]: https://github.com/prettier/plugin-ruby/compare/v1.2.5...v1.3.0
|
1055
1104
|
[1.2.5]: https://github.com/prettier/plugin-ruby/compare/v1.2.4...v1.2.5
|
@@ -1110,76 +1159,3 @@ would previously result in `array[]`, but now prints properly.
|
|
1110
1159
|
[0.1.2]: https://github.com/prettier/plugin-ruby/compare/v0.1.1...v0.1.2
|
1111
1160
|
[0.1.1]: https://github.com/prettier/plugin-ruby/compare/v0.1.0...v0.1.1
|
1112
1161
|
[0.1.0]: https://github.com/prettier/plugin-ruby/compare/61f675...v0.1.0
|
1113
|
-
[@aaronjensen]: https://github.com/aaronjensen
|
1114
|
-
[@acrewdson]: https://github.com/acrewdson
|
1115
|
-
[@alanfoster]: https://github.com/AlanFoster
|
1116
|
-
[@alse]: https://github.com/alse
|
1117
|
-
[@andrewraycode]: https://github.com/AndrewRayCode
|
1118
|
-
[@andyw8]: https://github.com/andyw8
|
1119
|
-
[@ashfurrow]: https://github.com/ashfurrow
|
1120
|
-
[@awinograd]: https://github.com/awinograd
|
1121
|
-
[@blampe]: https://github.com/blampe
|
1122
|
-
[@bugthing]: https://github.com/bugthing
|
1123
|
-
[@cbothner]: https://github.com/cbothner
|
1124
|
-
[@christoomey]: https://github.com/christoomey
|
1125
|
-
[@clarkdave]: https://github.com/clarkdave
|
1126
|
-
[@cldevs]: https://github.com/cldevs
|
1127
|
-
[@codingitwrong]: https://github.com/CodingItWrong
|
1128
|
-
[@coiti]: https://github.com/coiti
|
1129
|
-
[@cvoege]: https://github.com/cvoege
|
1130
|
-
[@deecewan]: https://github.com/deecewan
|
1131
|
-
[@dudeofawesome]: https://github.com/dudeofawesome
|
1132
|
-
[@eins78]: https://github.com/eins78
|
1133
|
-
[@flyerhzm]: https://github.com/flyerhzm
|
1134
|
-
[@fruetel]: https://github.com/Fruetel
|
1135
|
-
[@ftes]: https://github.com/ftes
|
1136
|
-
[@gin0606]: https://github.com/gin0606
|
1137
|
-
[@github0013]: https://github.com/github0013
|
1138
|
-
[@glejeune]: https://github.com/glejeune
|
1139
|
-
[@hafley66]: https://github.com/hafley66
|
1140
|
-
[@ianks]: https://github.com/ianks
|
1141
|
-
[@jakeprime]: https://github.com/jakeprime
|
1142
|
-
[@jamescostian]: https://github.com/jamescostian
|
1143
|
-
[@janklimo]: https://github.com/janklimo
|
1144
|
-
[@jbielick]: https://github.com/jbielick
|
1145
|
-
[@jeffcarbs]: https://github.com/jeffcarbs
|
1146
|
-
[@joeyjoejoejr]: https://github.com/joeyjoejoejr
|
1147
|
-
[@johannesluedke]: https://github.com/johannesluedke
|
1148
|
-
[@johncsnyder]: https://github.com/johncsnyder
|
1149
|
-
[@johnschoeman]: https://github.com/johnschoeman
|
1150
|
-
[@joshuakgoldberg]: https://github.com/JoshuaKGoldberg
|
1151
|
-
[@jpickwell]: https://github.com/jpickwell
|
1152
|
-
[@jrdioko]: https://github.com/jrdioko
|
1153
|
-
[@jviney]: https://github.com/jviney
|
1154
|
-
[@karanmandal]: https://github.com/karanmandal
|
1155
|
-
[@kddeisz]: https://github.com/kddeisz
|
1156
|
-
[@kmcq]: https://github.com/kmcq
|
1157
|
-
[@krachtstefan]: https://github.com/krachtstefan
|
1158
|
-
[@localhostdotdev]: https://github.com/localhostdotdev
|
1159
|
-
[@lukyth]: https://github.com/lukyth
|
1160
|
-
[@marcmaniez]: https://github.com/MarcManiez
|
1161
|
-
[@masqita]: https://github.com/masqita
|
1162
|
-
[@matt-wratt]: https://github.com/matt-wratt
|
1163
|
-
[@meleyal]: https://github.com/meleyal
|
1164
|
-
[@mmainz]: https://github.com/mmainz
|
1165
|
-
[@mmcnl]: https://github.com/mmcnl
|
1166
|
-
[@nathan-beam]: https://github.com/nathan-beam
|
1167
|
-
[@noahtheduke]: https://github.com/NoahTheDuke
|
1168
|
-
[@nruth]: https://github.com/nruth
|
1169
|
-
[@overload119]: https://github.com/Overload119
|
1170
|
-
[@petevk]: https://github.com/petevk
|
1171
|
-
[@pje]: https://github.com/pje
|
1172
|
-
[@rafbm]: https://github.com/rafbm
|
1173
|
-
[@rindek]: https://github.com/rindek
|
1174
|
-
[@rosskinsella]: https://github.com/RossKinsella
|
1175
|
-
[@rsullivan00]: https://github.com/Rsullivan00
|
1176
|
-
[@ryan-hunter-pc]: https://github.com/ryan-hunter-pc
|
1177
|
-
[@shaydavidson]: https://github.com/ShayDavidson
|
1178
|
-
[@steobrien]: https://github.com/steobrien
|
1179
|
-
[@sviccari]: https://github.com/SViccari
|
1180
|
-
[@tobyndockerill]: https://github.com/tobyndockerill
|
1181
|
-
[@uri]: https://github.com/uri
|
1182
|
-
[@valscion]: https://github.com/valscion
|
1183
|
-
[@xipgroc]: https://github.com/xipgroc
|
1184
|
-
[@ykpythemind]: https://github.com/ykpythemind
|
1185
|
-
[@yuki24]: https://github.com/yuki24
|