fix empty render causing panic (#1769) (#1774)

* fix empty render causing panic (#1769)

* use an default root column instead of an empty root column

* fix formatting

* restore create.rs in core

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
This commit is contained in:
abhiandEvan Almloff authored and GitHub committed 2024-01-02 10:02:58 -06:00
1 parent 8230566c4d
commit fd7c9e0359
3 files changed
+101 -7

No files matched your search

+11 -6
View File
@@ -204,12 +204,17 @@ impl<'a> ToTokens for TemplateRenderer<'a> {
None => quote! { None },
};
let spndbg = format!("{:?}", self.roots[0].span());
let root_col = spndbg
.rsplit_once("..")
.and_then(|(_, after)| after.split_once(')').map(|(before, _)| before))
.unwrap_or_default();
let root_col = match self.roots.first() {
Some(first_root) => {
let first_root_span = format!("{:?}", first_root.span());
first_root_span
.rsplit_once("..")
.and_then(|(_, after)| after.split_once(')').map(|(before, _)| before))
.unwrap_or_default()
.to_string()
}
_ => "0".to_string(),
};
let root_printer = self.roots.iter().enumerate().map(|(idx, root)| {
context.current_path.push(idx as u8);
let out = context.render_static_node(root);