Skip to content

Commit cf178b5

Browse files
authoredFeb 2, 2025··
fix: don't break generic params into mulitple lines (#167)
1 parent 975d7f5 commit cf178b5

File tree

4 files changed

+37
-6
lines changed

4 files changed

+37
-6
lines changed
 

‎formatter/src/formatter/element.rs

+23
Original file line numberDiff line numberDiff line change
@@ -480,6 +480,29 @@ mod tests {
480480
insta::assert_snapshot!(formatted, @"<SizeOf<String> />");
481481
}
482482

483+
#[test]
484+
fn with_closing_tag_generics() {
485+
let formatted = format_element! { <SizeOf<String>></SizeOf<String>> };
486+
insta::assert_snapshot!(formatted, @"<SizeOf<String>></SizeOf<String>>");
487+
}
488+
489+
#[test]
490+
fn with_generics_and_attributes() {
491+
let formatted = format_element! { <FormDialog<CreatePost> status="DRAFT" foo={bar} someeeee="looooeeeeeeeeeeeeeeong_attrr">
492+
<Input label="Title" />
493+
</FormDialog<CreatePost>>
494+
};
495+
insta::assert_snapshot!(formatted, @r###"
496+
<FormDialog<CreatePost>
497+
status="DRAFT"
498+
foo=bar
499+
someeeee="looooeeeeeeeeeeeeeeong_attrr"
500+
>
501+
<Input label="Title" />
502+
</FormDialog<CreatePost>>
503+
"###);
504+
}
505+
483506
// Closing Tags Behaviour
484507

485508
#[test]

‎formatter/src/formatter/mod.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,18 @@ impl<'a> Formatter<'a> {
240240
}
241241

242242
pub fn format_syn_generics(&mut self, generics: &Generics) {
243-
leptosfmt_prettyplease::unparse_fn(self.printer, None, |p| p.generics(generics));
243+
if generics.params.is_empty() {
244+
return;
245+
}
246+
247+
self.printer.word("<");
248+
let mut params = generics.params.iter().peekable();
249+
while let Some(param) = params.next() {
250+
leptosfmt_prettyplease::unparse_fn(self.printer, None, |p| p.generic_param(param));
251+
if params.peek().is_some() {
252+
self.printer.word(", ");
253+
}
254+
}
255+
self.printer.word(">");
244256
}
245257
}

‎prettyplease

‎printer/src/ring.rs

-4
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,6 @@ impl<T> RingBuffer<T> {
3333
self.data.clear();
3434
}
3535

36-
pub fn index_of_first(&self) -> usize {
37-
self.offset
38-
}
39-
4036
pub fn index_range(&self) -> Range<usize> {
4137
self.offset..self.offset + self.data.len()
4238
}

0 commit comments

Comments
 (0)
Please sign in to comment.