Skip to content
This repository has been archived by the owner on Aug 31, 2023. It is now read-only.

Commit

Permalink
Added jsx name formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicholas Yang committed Apr 11, 2022
1 parent d807e61 commit 71490d7
Show file tree
Hide file tree
Showing 5 changed files with 38 additions and 18 deletions.
6 changes: 4 additions & 2 deletions crates/rome_js_formatter/src/jsx/auxiliary/name.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
use crate::formatter_traits::FormatTokenAndNode;
use crate::{FormatElement, FormatResult, Formatter, ToFormatElement};
use rome_js_syntax::{AstNode, JsxName};
use rome_js_syntax::JsxName;

impl ToFormatElement for JsxName {
fn to_format_element(&self, formatter: &Formatter) -> FormatResult<FormatElement> {
Ok(formatter.format_verbatim(self.syntax()))
self.value_token().format(formatter)
}
}
17 changes: 15 additions & 2 deletions crates/rome_js_formatter/src/jsx/auxiliary/namespace_name.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
use crate::formatter_traits::FormatTokenAndNode;
use crate::{FormatElement, FormatResult, Formatter, ToFormatElement};
use rome_js_syntax::{AstNode, JsxNamespaceName};
use rome_formatter::format_elements;
use rome_js_syntax::{JsxNamespaceName, JsxNamespaceNameFields};

impl ToFormatElement for JsxNamespaceName {
fn to_format_element(&self, formatter: &Formatter) -> FormatResult<FormatElement> {
Ok(formatter.format_verbatim(self.syntax()))
let JsxNamespaceNameFields {
namespace,
colon_token,
name,
} = self.as_fields();

Ok(format_elements![
namespace.format(formatter)?,
colon_token.format(formatter)?,
name.format(formatter)?
])
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
use crate::formatter_traits::FormatTokenAndNode;
use crate::{FormatElement, FormatResult, Formatter, ToFormatElement};
use rome_js_syntax::{AstNode, JsxReferenceIdentifier};
use rome_js_syntax::JsxReferenceIdentifier;

impl ToFormatElement for JsxReferenceIdentifier {
fn to_format_element(&self, formatter: &Formatter) -> FormatResult<FormatElement> {
Ok(formatter.format_verbatim(self.syntax()))
self.value_token().format(formatter)
}
}
17 changes: 15 additions & 2 deletions crates/rome_js_formatter/src/jsx/objects/member_name.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
use crate::formatter_traits::FormatTokenAndNode;
use crate::{FormatElement, FormatResult, Formatter, ToFormatElement};
use rome_js_syntax::{AstNode, JsxMemberName};
use rome_formatter::format_elements;
use rome_js_syntax::{JsxMemberName, JsxMemberNameFields};

impl ToFormatElement for JsxMemberName {
fn to_format_element(&self, formatter: &Formatter) -> FormatResult<FormatElement> {
Ok(formatter.format_verbatim(self.syntax()))
let JsxMemberNameFields {
object,
dot_token,
member,
} = self.as_fields();

Ok(format_elements![
object.format(formatter)?,
dot_token.format(formatter)?,
member.format(formatter)?,
])
}
}
10 changes: 0 additions & 10 deletions crates/rome_js_formatter/tests/specs/jsx/self_closing.jsx.snap
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,3 @@ Line width: 80

<CodeEditor />;


## Unimplemented nodes/tokens

"Foo " => 1..5
"Foo " => 11..25
"LineWidthInput " => 31..46
"IndentStyleSelect" => 51..68
"SourceTypeSelect" => 75..91
"CodeEditor" => 99..109

0 comments on commit 71490d7

Please sign in to comment.