Fix less :extend format (#7984)

* Fix less `:extend` format

* Add changelog

* Add longer test

* Add issue link

* Style

* Fix changelog
This commit is contained in:
fisker Cheung authored and GitHub committed 2020-04-08 18:02:13 +03:00
1 parent 17d6e38d34
commit 76cb1efcb6
4 files changed
+84

No files matched your search

+30
View File
@@ -0,0 +1,30 @@
#### Fix `:extend` format ([#7984](https://github.com/prettier/prettier/pull/7984) by [@fisker](https://github.com/fisker))
<!-- prettier-ignore -->
```less
// Input
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class all);
}
// Prettier stable
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
// Prettier stable (Second format)
.class {
&: extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
// Prettier master
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
```
+10
View File
@@ -375,6 +375,16 @@ function parseNestedCSS(node, options) {
node.value = parseValue(value);
}
// extend is missing
if (
isLessParser(options) &&
node.type === "css-decl" &&
!node.extend &&
value.startsWith("extend(")
) {
node.extend = node.raws.between === ":";
}
if (node.type === "css-atrule") {
if (isLessParser(options)) {
// mixin
@@ -1766,6 +1766,19 @@ label {
// should not parse as custom-selector
@custom-selector :--icon #id;
// extend #7977
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class all);
}
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class .some-very-loooooooooooooong-class all);
}
=====================================output=====================================
@nice-blue: #5b83ad;
@light-blue: @nice-blue + #111;
@@ -3378,6 +3391,24 @@ label {
// should not parse as custom-selector
@custom-selector: --icon #id;
// extend #7977
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class
.some-very-loooooooooooooong-class all
);
}
================================================================================
`;
+13
View File
@@ -1674,3 +1674,16 @@ label {
// should not parse as custom-selector
@custom-selector :--icon #id;
// extend #7977
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class all);
}
.class {
&:extend(
.some-class .some-other-class .some-very-loooooooooooooong-class all
);
}
.class {
&:extend(.some-class .some-other-class .some-very-loooooooooooooong-class .some-very-loooooooooooooong-class all);
}