sqruff_lib_core/parser/segments/
fix.rs1use std::ops::Range;
2
3use smol_str::SmolStr;
4
5#[derive(Hash, Debug, Clone, PartialEq, Eq)]
7pub struct SourceFix {
8 pub(crate) edit: SmolStr,
9 pub(crate) source_slice: Range<usize>,
10 pub(crate) templated_slice: Range<usize>,
16}
17
18impl SourceFix {
19 pub fn new(edit: SmolStr, source_slice: Range<usize>, templated_slice: Range<usize>) -> Self {
20 SourceFix {
21 edit,
22 source_slice,
23 templated_slice,
24 }
25 }
26}
27
28#[derive(Clone, Debug)]
30#[allow(dead_code)]
31pub struct FixPatch {
32 templated_slice: Range<usize>,
33 pub fixed_raw: SmolStr,
34 pub source_slice: Range<usize>,
39 templated_str: String,
40 source_str: String,
41}
42
43impl FixPatch {
44 pub fn new(
45 templated_slice: Range<usize>,
46 fixed_raw: SmolStr,
47 source_slice: Range<usize>,
48 templated_str: String,
49 source_str: String,
50 ) -> Self {
51 FixPatch {
52 templated_slice,
53 fixed_raw,
54 source_slice,
55 templated_str,
56 source_str,
57 }
58 }
59
60 pub fn dedupe_tuple(&self) -> Range<usize> {
62 self.source_slice.clone()
63 }
64}