prettier 1.6.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -1
- data/node_modules/prettier/bin-prettier.js +2362 -2176
- data/node_modules/prettier/doc.js +4961 -0
- data/node_modules/prettier/index.js +1013 -956
- data/node_modules/prettier/package.json +23 -0
- data/node_modules/prettier/parser-angular.js +13 -13
- 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-html.js +16 -16
- 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 +729 -131
- data/package.json +1 -1
- data/src/ruby/nodes/calls.js +42 -2
- data/src/ruby/nodes/strings.js +3 -1
- data/src/utils/noIndent.js +0 -1
- metadata +4 -2
data/package.json
CHANGED
data/src/ruby/nodes/calls.js
CHANGED
@@ -33,12 +33,23 @@ function printCall(path, opts, print) {
|
|
33
33
|
|
34
34
|
// The right side of the call node, as in everything including the operator
|
35
35
|
// and beyond.
|
36
|
-
|
36
|
+
let rightSideDoc = concat([
|
37
37
|
receiverNode.comments ? hardline : softline,
|
38
38
|
operatorDoc,
|
39
39
|
messageDoc
|
40
40
|
]);
|
41
41
|
|
42
|
+
// This is very specialized behavior wherein we group .where.not calls
|
43
|
+
// together because it looks better. For more information, see
|
44
|
+
// https://github.com/prettier/plugin-ruby/issues/862.
|
45
|
+
if (
|
46
|
+
receiverNode.type === "call" &&
|
47
|
+
receiverNode.body[2].body === "where" &&
|
48
|
+
messageDoc === "not"
|
49
|
+
) {
|
50
|
+
rightSideDoc = concat([operatorDoc, messageDoc]);
|
51
|
+
}
|
52
|
+
|
42
53
|
// Get a reference to the parent node so we can check if we're inside a chain
|
43
54
|
const parentNode = path.getParentNode();
|
44
55
|
|
@@ -110,9 +121,38 @@ function printMethodAddArg(path, opts, print) {
|
|
110
121
|
parentNode.firstReceiverType = node.firstReceiverType;
|
111
122
|
}
|
112
123
|
|
124
|
+
// This is the threshold at which we will start to try to make a nicely
|
125
|
+
// indented call chain. For the most part, it's always 3.
|
126
|
+
let threshold = 3;
|
127
|
+
|
128
|
+
// Here, we have very specialized behavior where if we're within a sig block,
|
129
|
+
// then we're going to assume we're creating a Sorbet type signature. In that
|
130
|
+
// case, we really want the threshold to be lowered to 2 so that we create
|
131
|
+
// method chains off of any two method calls within the block. For more
|
132
|
+
// details, see
|
133
|
+
// https://github.com/prettier/plugin-ruby/issues/863.
|
134
|
+
let sigBlock = path.getParentNode(2);
|
135
|
+
if (sigBlock) {
|
136
|
+
// If we're at a do_block, then we want to go one more level up. This is
|
137
|
+
// because do_blocks have bodystmt nodes instead of just stmt nodes.
|
138
|
+
if (sigBlock.type === "do_block") {
|
139
|
+
sigBlock = path.getParentNode(3);
|
140
|
+
}
|
141
|
+
|
142
|
+
if (
|
143
|
+
sigBlock.type === "method_add_block" &&
|
144
|
+
sigBlock.body[1] &&
|
145
|
+
sigBlock.body[0].type === "method_add_arg" &&
|
146
|
+
sigBlock.body[0].body[0].type === "fcall" &&
|
147
|
+
sigBlock.body[0].body[0].body[0].body === "sig"
|
148
|
+
) {
|
149
|
+
threshold = 2;
|
150
|
+
}
|
151
|
+
}
|
152
|
+
|
113
153
|
// If we're at the top of a chain, then we're going to print out a nice
|
114
154
|
// multi-line layout if this doesn't break into multiple lines.
|
115
|
-
if (!chained.includes(parentNode.type) && (node.chain || 0) >=
|
155
|
+
if (!chained.includes(parentNode.type) && (node.chain || 0) >= threshold) {
|
116
156
|
// This is pretty specialized behavior. Basically if we're at the top of a
|
117
157
|
// chain but we've only had method calls without arguments and now we have
|
118
158
|
// arguments, then we're effectively trying to call a method with arguments
|
data/src/ruby/nodes/strings.js
CHANGED
@@ -152,8 +152,10 @@ function printDynaSymbol(path, opts, print) {
|
|
152
152
|
if (isQuoteLocked(node)) {
|
153
153
|
if (node.quote.startsWith("%")) {
|
154
154
|
quote = opts.rubySingleQuote ? "'" : '"';
|
155
|
-
} else {
|
155
|
+
} else if (node.quote.startsWith(":")) {
|
156
156
|
quote = node.quote.slice(1);
|
157
|
+
} else {
|
158
|
+
quote = node.quote;
|
157
159
|
}
|
158
160
|
} else {
|
159
161
|
quote = opts.rubySingleQuote && isSingleQuotable(node) ? "'" : '"';
|
data/src/utils/noIndent.js
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prettier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Deisz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description:
|
14
14
|
email:
|
@@ -27,7 +27,9 @@ files:
|
|
27
27
|
- lib/prettier.rb
|
28
28
|
- lib/prettier/rake/task.rb
|
29
29
|
- node_modules/prettier/bin-prettier.js
|
30
|
+
- node_modules/prettier/doc.js
|
30
31
|
- node_modules/prettier/index.js
|
32
|
+
- node_modules/prettier/package.json
|
31
33
|
- node_modules/prettier/parser-angular.js
|
32
34
|
- node_modules/prettier/parser-babel.js
|
33
35
|
- node_modules/prettier/parser-espree.js
|