Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -243,6 +243,7 @@ impl RecessOrderMember {
AnyCssDeclarationOrRule::CssBogus(_) => NodeKindOrder::UnknownKind,
AnyCssDeclarationOrRule::CssMetavariable(_) => NodeKindOrder::UnknownKind,
AnyCssDeclarationOrRule::ScssDeclaration(_) => NodeKindOrder::UnknownKind,
AnyCssDeclarationOrRule::ScssNestingDeclaration(_) => NodeKindOrder::UnknownKind,
AnyCssDeclarationOrRule::AnyCssRule(rule) => match rule {
AnyCssRule::CssAtRule(_) => NodeKindOrder::NestedRuleOrAtRule,
AnyCssRule::CssBogusRule(_) => NodeKindOrder::UnknownKind,
Expand Down
16 changes: 16 additions & 0 deletions crates/biome_css_factory/src/generated/node_factory.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 40 additions & 0 deletions crates/biome_css_factory/src/generated/syntax_factory.rs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions crates/biome_css_formatter/src/css/any/declaration.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ impl FormatRule<AnyCssDeclaration> for FormatAnyCssDeclaration {
AnyCssDeclaration::CssDeclarationWithSemicolon(node) => node.format().fmt(f),
AnyCssDeclaration::CssEmptyDeclaration(node) => node.format().fmt(f),
AnyCssDeclaration::ScssDeclaration(node) => node.format().fmt(f),
AnyCssDeclaration::ScssNestingDeclaration(node) => node.format().fmt(f),
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ impl FormatRule<AnyCssDeclarationOrAtRule> for FormatAnyCssDeclarationOrAtRule {
AnyCssDeclarationOrAtRule::CssDeclarationWithSemicolon(node) => node.format().fmt(f),
AnyCssDeclarationOrAtRule::CssEmptyDeclaration(node) => node.format().fmt(f),
AnyCssDeclarationOrAtRule::ScssDeclaration(node) => node.format().fmt(f),
AnyCssDeclarationOrAtRule::ScssNestingDeclaration(node) => node.format().fmt(f),
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ impl FormatRule<AnyCssDeclarationOrRule> for FormatAnyCssDeclarationOrRule {
AnyCssDeclarationOrRule::CssEmptyDeclaration(node) => node.format().fmt(f),
AnyCssDeclarationOrRule::CssMetavariable(node) => node.format().fmt(f),
AnyCssDeclarationOrRule::ScssDeclaration(node) => node.format().fmt(f),
AnyCssDeclarationOrRule::ScssNestingDeclaration(node) => node.format().fmt(f),
}
}
}
38 changes: 38 additions & 0 deletions crates/biome_css_formatter/src/generated.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7110,6 +7110,44 @@ impl IntoFormat<CssFormatContext> for biome_css_syntax::ScssNamespacedIdentifier
)
}
}
impl FormatRule<biome_css_syntax::ScssNestingDeclaration>
for crate::scss::auxiliary::nesting_declaration::FormatScssNestingDeclaration
{
type Context = CssFormatContext;
#[inline(always)]
fn fmt(
&self,
node: &biome_css_syntax::ScssNestingDeclaration,
f: &mut CssFormatter,
) -> FormatResult<()> {
FormatNodeRule::<biome_css_syntax::ScssNestingDeclaration>::fmt(self, node, f)
}
}
impl AsFormat<CssFormatContext> for biome_css_syntax::ScssNestingDeclaration {
type Format<'a> = FormatRefWithRule<
'a,
biome_css_syntax::ScssNestingDeclaration,
crate::scss::auxiliary::nesting_declaration::FormatScssNestingDeclaration,
>;
fn format(&self) -> Self::Format<'_> {
FormatRefWithRule::new(
self,
crate::scss::auxiliary::nesting_declaration::FormatScssNestingDeclaration::default(),
)
}
}
impl IntoFormat<CssFormatContext> for biome_css_syntax::ScssNestingDeclaration {
type Format = FormatOwnedWithRule<
biome_css_syntax::ScssNestingDeclaration,
crate::scss::auxiliary::nesting_declaration::FormatScssNestingDeclaration,
>;
fn into_format(self) -> Self::Format {
FormatOwnedWithRule::new(
self,
crate::scss::auxiliary::nesting_declaration::FormatScssNestingDeclaration::default(),
)
}
}
impl FormatRule<biome_css_syntax::ScssQualifiedName>
for crate::scss::auxiliary::qualified_name::FormatScssQualifiedName
{
Expand Down
1 change: 1 addition & 0 deletions crates/biome_css_formatter/src/scss/auxiliary/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
//! This is a generated file. Don't modify it by hand! Run 'cargo codegen formatter' to re-generate the file.

pub(crate) mod declaration;
pub(crate) mod nesting_declaration;
pub(crate) mod qualified_name;
pub(crate) mod variable_modifier;
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
use crate::prelude::*;
use biome_css_syntax::{ScssNestingDeclaration, ScssNestingDeclarationFields};
use biome_formatter::write;

#[derive(Debug, Clone, Default)]
pub(crate) struct FormatScssNestingDeclaration;
impl FormatNodeRule<ScssNestingDeclaration> for FormatScssNestingDeclaration {
fn fmt_fields(&self, node: &ScssNestingDeclaration, f: &mut CssFormatter) -> FormatResult<()> {
let ScssNestingDeclarationFields {
name,
colon_token,
value,
block,
} = node.as_fields();

write!(f, [name.format(), colon_token.format()])?;

if !value.is_empty() {
write!(f, [space(), value.format()])?;
}

write!(f, [space(), block.format()])
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.test{
label:hover{color:red;}
font:bold{color:blue;}
font:12px{family:sans-serif;}
font: bold{family:serif;}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
source: crates/biome_formatter_test/src/snapshot_builder.rs
info: css/scss/declaration/ambiguous-selector-vs-nesting.scss
---

# Input

```scss
.test{
label:hover{color:red;}
font:bold{color:blue;}
font:12px{family:sans-serif;}
font: bold{family:serif;}
}

```


=============================

# Outputs

## Output 1

-----
Indent style: Tab
Indent width: 2
Line ending: LF
Line width: 80
Quote style: Double Quotes
Trailing newline: true
-----

```scss
.test {
label:hover {
color: red;
}
font:bold {
color: blue;
}
font: 12px {
family: sans-serif;
}
font: bold {
family: serif;
}
}

```
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.font{
color:red;
font:{
size:12px;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
source: crates/biome_formatter_test/src/snapshot_builder.rs
assertion_line: 212
info: css/scss/declaration/nested-properties-empty-value.scss
---

# Input

```scss
.font{
color:red;
font:{
size:12px;
}
}

```


=============================

# Outputs

## Output 1

-----
Indent style: Tab
Indent width: 2
Line ending: LF
Line width: 80
Quote style: Double Quotes
Trailing newline: true
-----

```scss
.font {
color: red;
font: {
size: 12px;
}
}

```
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.font{
color:red;
font:12px/1.2{
family:sans-serif;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
source: crates/biome_formatter_test/src/snapshot_builder.rs
info: css/scss/declaration/nested-properties-with-value.scss
---

# Input

```scss
.font{
color:red;
font:12px/1.2{
family:sans-serif;
}
}

```


=============================

# Outputs

## Output 1

-----
Indent style: Tab
Indent width: 2
Line ending: LF
Line width: 80
Quote style: Double Quotes
Trailing newline: true
-----

```scss
.font {
color: red;
font: 12px / 1.2 {
family: sans-serif;
}
}

```
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.test{
font:bold{color:red;}
font: bold{family:serif;}
font:
bold{family:sans-serif;}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
source: crates/biome_formatter_test/src/snapshot_builder.rs
info: css/scss/declaration/spacing-after-colon.scss
---

# Input

```scss
.test{
font:bold{color:red;}
font: bold{family:serif;}
font:
bold{family:sans-serif;}
}

```


=============================

# Outputs

## Output 1

-----
Indent style: Tab
Indent width: 2
Line ending: LF
Line width: 80
Quote style: Double Quotes
Trailing newline: true
-----

```scss
.test {
font:bold {
color: red;
}
font: bold {
family: serif;
}
font: bold {
family: sans-serif;
}
}

```
Loading