fix: immediate exprs

This commit is contained in:
Jonathan Kelley committed 2023-01-16 16:36:50 -08:00
1 parent 1737c55575
commit b6e4db1f2f
4 files changed
+14 -8

No files matched your search

+6 -2
View File
@@ -1,6 +1,6 @@
use crate::writer::*;
use collect_macros::byte_offset;
use dioxus_rsx::CallBody;
use dioxus_rsx::{BodyNode, CallBody};
use proc_macro2::LineColumn;
use syn::{ExprMacro, MacroDelimiter};
@@ -105,7 +105,11 @@ pub fn fmt_file(contents: &str) -> Vec<FormattedBlock> {
let start = byte_offset(contents, span.start()) + 1;
let end = byte_offset(contents, span.end()) - 1;
if formatted.len() <= 80 && !formatted.contains('\n') {
// Rustfmt will remove the space between the macro and the opening paren if the macro is a single expression
let body_is_solo_expr =
body.roots.len() == 1 && matches!(body.roots[0], BodyNode::RawExpr(_));
if formatted.len() <= 80 && !formatted.contains('\n') && !body_is_solo_expr {
formatted = format!(" {} ", formatted);
}