fn draw_text(&mut self)
	{
		let mut cur_line = 1;
		let mut cur_line_data = self.line_scroll;
		'line: while cur_line < self.height
		{
			let line_content = match self.data.get_line(cur_line_data)
			{
				None => {break 'line;},
				Some(v) => v
			};
			let mut cur_char = self.draw_xoff - self.char_scroll as isize;
			let mut cur_char_data = 0;
			'char: while cur_char < self.width as isize
			{
				let char_content = match line_content.get(cur_char_data)
				{
					None => {break 'char;},
					Some(v) => v
				};
				if char_content != &'\t'
				{
					if cur_char >= self.draw_xoff
					{
						self.rustbox.print(cur_char as usize, cur_line, rustbox::RB_NORMAL, Color::White, Color::Default, &format!("{}", char_content));
					}
					cur_char += 1;
				}
				else
				{
					cur_char += TAB_SIZE;
				}
				cur_char_data += 1;
			}
			self.rustbox.print(cur_char as usize, cur_line, rustbox::RB_NORMAL, COLOR, Color::Default, "´");
			cur_line += 1;
			cur_line_data += 1;
		}
	}
//draw the editor pane
//differentiates between the on-screen and in-data position of the cursor
//cur_line_data, cur_char_data -> data pointer position
//cur_line, cur_char -> display pointer position
draw the editor pane
differentiates between the on-screen and in-data position of the cursor
cur_line_data, cur_char_data -> data pointer position
cur_line, cur_char -> display pointer position
draw the editor pane differentiates between the on - screen and in - data position of the cursor cur_line_data cur_char_data - > data pointer position cur_line cur_char - > display pointer position
fn draw_text(&mut self)
	{
		let mut cur_line = 1;
		let mut cur_line_data = self.line_scroll;
		'line: while cur_line < self.height
		{
			let line_content = match self.data.get_line(cur_line_data)
			{
				None => {break 'line;},
				Some(v) => v
			};
			let mut cur_char = self.draw_xoff - self.char_scroll as isize;
			let mut cur_char_data = 0;
			'char: while cur_char < self.width as isize
			{
				let char_content = match line_content.get(cur_char_data)
				{
					None => {break 'char;},
					Some(v) => v
				};
				if char_content != &'\t'
				{
					if cur_char >= self.draw_xoff
					{
						self.rustbox.print(cur_char as usize, cur_line, rustbox::RB_NORMAL, Color::White, Color::Default, &format!("{}", char_content));
					}
					cur_char += 1;
				}
				else
				{
					cur_char += TAB_SIZE;
				}
				cur_char_data += 1;
			}
			self.rustbox.print(cur_char as usize, cur_line, rustbox::RB_NORMAL, COLOR, Color::Default, "´");
			cur_line += 1;
			cur_line_data += 1;
		}
	}
fn draw_text ( & mut self ) { let mut cur_line = 1 ; let mut cur_line_data = self . line_scroll ; ' line : while cur_line < self . height { let line_content = match self . data . get_line ( cur_line_data ) { None => { break ' line ; } , Some ( v ) => v } ; let mut cur_char = self . draw_xoff - self . char_scroll as isize ; let mut cur_char_data = 0 ; ' char : while cur_char < self . width as isize { let char_content = match line_content . get ( cur_char_data ) { None => { break ' char ; } , Some ( v ) => v } ; if char_content != & '\t' { if cur_char >= self . draw_xoff { self . rustbox . print ( cur_char as usize , cur_line , rustbox :: RB_NORMAL , Color :: White , Color :: Default , & format ! ( " " char_content ) ) ; } cur_char += 1 ; } else { cur_char += TAB_SIZE ; } cur_char_data += 1 ; } self . rustbox . print ( cur_char as usize , cur_line , rustbox :: RB_NORMAL , COLOR , Color :: Default , " ) ; cur_line += 1 ; cur_line_data += 1 ; } }
draw the editor pane
differentiates between the on-screen and in-data position of the cursor
cur_line_data, cur_char_data -> data pointer position
cur_line, cur_char -> display pointer position
draw the editor pane differentiates between the on - screen and in - data position of the cursor cur_line_data cur_char_data - > data pointer position cur_line cur_char - > display pointer position
&mut self
&mut self