fix emoji support in autofmt
This commit is contained in:
1 parent
fd4eac3488
commit
cc8b910cf3
4 files changed
+48
-36
No files matched your search
@@ -71,8 +71,11 @@ pub fn fmt_file(contents: &str) -> Vec<FormattedBlock> {
|
||||
};
|
||||
|
||||
let remaining = &contents[end - 1..];
|
||||
|
||||
let bracket_end = find_bracket_end(remaining).unwrap();
|
||||
let sub_string = &contents[end..bracket_end + end - 1];
|
||||
|
||||
let sub_string = &remaining[1..bracket_end - 1];
|
||||
|
||||
last_bracket_end = bracket_end + end - 1;
|
||||
|
||||
let mut new = fmt_block(sub_string, indent_level).unwrap();
|
||||
@@ -85,7 +88,7 @@ pub fn fmt_file(contents: &str) -> Vec<FormattedBlock> {
|
||||
indent_level = 0;
|
||||
}
|
||||
|
||||
let end_marker = end + bracket_end - indent_level * 4 - 1;
|
||||
let end_marker = end + bracket_end - indent_level * 4 - 2;
|
||||
|
||||
if new == contents[end..end_marker] {
|
||||
continue;
|
||||
@@ -118,7 +121,7 @@ pub fn write_block_out(body: CallBody) -> Option<String> {
|
||||
}
|
||||
|
||||
pub fn fmt_block(block: &str, indent_level: usize) -> Option<String> {
|
||||
let body = syn::parse_str::<dioxus_rsx::CallBody>(block).ok()?;
|
||||
let body = syn::parse_str::<dioxus_rsx::CallBody>(block).unwrap();
|
||||
|
||||
let mut buf = Writer {
|
||||
src: block.lines().map(|f| f.to_string()).collect(),
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
pub fn find_bracket_end(contents: &str) -> Option<usize> {
|
||||
let mut depth = 0;
|
||||
|
||||
for (i, c) in contents.chars().enumerate() {
|
||||
let mut len = 0;
|
||||
|
||||
for c in contents.chars() {
|
||||
len += c.len_utf8();
|
||||
if c == '{' {
|
||||
depth += 1;
|
||||
} else if c == '}' {
|
||||
depth -= 1;
|
||||
|
||||
if depth == 0 {
|
||||
return Some(i);
|
||||
return Some(len);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user