fn insert_newline(&mut self) {
        if self.position.cy > self.rows.len() {
            return;
        }
        if self.position.cx == 0 {
            self.rows
                .insert(self.position.cy, Row::from(String::new(), self.syntax));
        } else {
            let next = self.rows[self.position.cy].split_off(self.position.cx);
            self.rows.insert(self.position.cy + 1, next);
        }
        self.position.cx = 0;
        self.position.cy += 1;
        self.dirty = true;
    }
/// insert a newline at the current position, which might split
/// one `Row` into two.
insert a newline at the current position, which might split
one `Row` into two.
insert a newline at the current position which might split one ` Row ` into two .
fn insert_newline(&mut self) {
        if self.position.cy > self.rows.len() {
            return;
        }
        if self.position.cx == 0 {
            self.rows
                .insert(self.position.cy, Row::from(String::new(), self.syntax));
        } else {
            let next = self.rows[self.position.cy].split_off(self.position.cx);
            self.rows.insert(self.position.cy + 1, next);
        }
        self.position.cx = 0;
        self.position.cy += 1;
        self.dirty = true;
    }
fn insert_newline ( & mut self ) { if self . position . cy > self . rows . len ( ) { return ; } if self . position . cx == 0 { self . rows . insert ( self . position . cy , Row :: from ( String :: new ( ) , self . syntax ) ) ; } else { let next = self . rows [ self . position . cy ] . split_off ( self . position . cx ) ; self . rows . insert ( self . position . cy + 1 , next ) ; } self . position . cx = 0 ; self . position . cy += 1 ; self . dirty = true ; }
insert a newline at the current position, which might split
one `Row` into two.
insert a newline at the current position which might split one ` Row ` into two .
&mut self