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:
1 parent
17d6e38d34
commit
76cb1efcb6
4 files changed
+84
No files matched your search
@@ -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
|
||||
);
|
||||
}
|
||||
```
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
================================================================================
|
||||
`;
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
Reference in new issue
Block a user