Skip to main content

luaur_ast/methods/
position_shift.rs

1use crate::records::position::Position;
2
3impl Position {
4    pub fn shift(&mut self, start: &Position, old_end: &Position, new_end: &Position) {
5        if self.position_operator_ge(start) {
6            if self.line > old_end.line {
7                self.line += new_end.line - old_end.line;
8            } else {
9                self.line = new_end.line;
10                self.column += new_end.column - old_end.column;
11            }
12        }
13    }
14}
15
16#[allow(non_snake_case)]
17pub fn position_shift(
18    position: &mut Position,
19    start: &Position,
20    old_end: &Position,
21    new_end: &Position,
22) {
23    position.shift(start, old_end, new_end);
24}