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