MCPcopy Create free account
hub / github.com/atomicdotdev/atomic / process_diff_op

Method process_diff_op

atomic-core/src/record/workflow/graph_op/builder.rs:160–192  ·  view source on GitHub ↗

Process a diff operation. This is the main entry point for processing diff output. Call this for each diff operation in sequence. # Arguments `op` - The diff operation to process # Example ```rust use atomic_core::record::workflow::graph_op::HunkBuilder; use atomic_core::diff::DiffOp; let mut builder = HunkBuilder::new("test.rs"); builder.process_diff_op(&DiffOp::Equal { old_pos: 0, new_pos:

(&mut self, op: &DiffOp)

Source from the content-addressed store, hash-verified

158 /// builder.process_diff_op(&DiffOp::Insert { old_pos: 10, new_pos: 10, len: 3 });
159 /// ```
160 pub fn process_diff_op(&mut self, op: &DiffOp) {
161 match op {
162 DiffOp::Equal {
163 old_pos,
164 new_pos,
165 len,
166 } => {
167 self.process_equal(*old_pos, *new_pos, *len);
168 }
169 DiffOp::Insert {
170 old_pos,
171 new_pos,
172 len,
173 } => {
174 self.process_insert(*old_pos, *new_pos, *len);
175 }
176 DiffOp::Delete {
177 old_pos,
178 new_pos,
179 len,
180 } => {
181 self.process_delete(*old_pos, *new_pos, *len);
182 }
183 DiffOp::Replace {
184 old_pos,
185 old_len,
186 new_pos,
187 new_len,
188 } => {
189 self.process_replace_params(*old_pos, *old_len, *new_pos, *new_len);
190 }
191 }
192 }
193
194 /// Process an equal (unchanged) region.
195 ///

Calls 4

process_equalMethod · 0.80
process_insertMethod · 0.80
process_deleteMethod · 0.80