Clippy clean

This commit is contained in:
Will Temple
2026-05-16 16:59:09 -04:00
parent ccc3984b01
commit 4347232b98
13 changed files with 134 additions and 99 deletions

View File

@@ -66,6 +66,13 @@ struct JsonParser {
next_id: u64,
}
struct ReuseContext<'a, 'count> {
old_text: &'a str,
new_text: &'a str,
delta: &'a EditDelta,
reused: &'count mut usize,
}
struct Cursor<'a> {
text: &'a str,
offset: usize,
@@ -114,7 +121,7 @@ async fn main() {
let parse_state = cell_in(&reactor, initial_snapshot);
let last_delta = cell_in(&reactor, None::<EditDelta>);
let _parser_subscription = {
{
let rope = rope.clone();
let parser = Rc::clone(&parser);
let parse_state = parse_state.clone();
@@ -283,15 +290,18 @@ impl JsonParser {
let mut root_anchor = previous.root_anchor;
root_anchor.map_through(delta);
let mut reused = 0usize;
let mut reuse = ReuseContext {
old_text: &previous.text,
new_text: &text,
delta,
reused: &mut reused,
};
let root = self.reuse_node(
&parsed,
Some(&previous.root),
previous.root_anchor.byte,
root_anchor.byte,
&previous.text,
&text,
delta,
&mut reused,
&mut reuse,
);
Ok(ParseSnapshot {
text,
@@ -322,21 +332,18 @@ impl JsonParser {
old: Option<&AstNode>,
old_parent_start: usize,
new_parent_start: usize,
old_text: &str,
new_text: &str,
delta: &EditDelta,
reused: &mut usize,
reuse: &mut ReuseContext<'_, '_>,
) -> AstNode {
let parsed_local = localize(parsed.range, new_parent_start);
if let Some(old) = old
&& old.kind == parsed.kind
&& map_range(absolute_range(old, old_parent_start), delta) == parsed.range
&& old_text.get(
&& map_range(absolute_range(old, old_parent_start), reuse.delta) == parsed.range
&& reuse.old_text.get(
absolute_range(old, old_parent_start).start
..absolute_range(old, old_parent_start).end,
) == new_text.get(parsed.range.start..parsed.range.end)
) == reuse.new_text.get(parsed.range.start..parsed.range.end)
{
*reused += count_nodes(old);
*reuse.reused += count_nodes(old);
return AstNode {
id: old.id,
kind: old.kind,
@@ -359,10 +366,7 @@ impl JsonParser {
previous_child,
next_old_parent_start,
parsed.range.start,
old_text,
new_text,
delta,
reused,
reuse,
)
})
.collect();