Fix comments after :

This commit is contained in:
Austen Adler 2024-09-13 14:52:42 -04:00
parent 6680ace512
commit eaba7cca42

View File

@ -630,10 +630,23 @@ where
self.toggle_awaiting_key()?; self.toggle_awaiting_key()?;
} }
// // -> [/{ // // -> [/{
(Token::Comment { ty: _, own_line: _ }, Token::CollectionStart { ty }) => { (
Token::Comment {
ty: comment_ty,
own_line: comment_own_line,
},
Token::CollectionStart { ty },
) => {
// TODO: The newline should be conditional // TODO: The newline should be conditional
// {"a":/**/[]} should not have a newline before the `[` // {"a":/**/[]} should not have a newline before the `[`
if comment_ty == CommentType::Block
&& !comment_own_line
&& !self.is_after_value()?
{
self.extra_spacing()?;
} else {
self.newline()?; self.newline()?;
}
w!(self.write, ty.start_str()); w!(self.write, ty.start_str());
self.state_stack.push_back(ty.as_state()); self.state_stack.push_back(ty.as_state());
} }
@ -652,10 +665,23 @@ where
self.drain_comment(ty)?; self.drain_comment(ty)?;
} }
// // -> "" // // -> ""
(Token::Comment { ty: _, own_line: _ }, Token::Value { ty, first_char }) => { (
Token::Comment {
ty: comment_ty,
own_line: comment_own_line,
},
Token::Value { ty, first_char },
) => {
// TODO: The newline should be conditional // TODO: The newline should be conditional
// {"a":/**/"b"} should not have a newline // {"a":/**/"b"} should not have a newline
if comment_ty == CommentType::Block
&& !comment_own_line
&& !self.is_after_value()?
{
self.extra_spacing()?;
} else {
self.newline()?; self.newline()?;
}
self.drain_value(ty, *first_char)?; self.drain_value(ty, *first_char)?;
if self.is_awaiting_key()? { if self.is_awaiting_key()? {