diff options
author | Joe Wilm <joe@jwilm.com> | 2016-07-04 08:42:18 -0700 |
---|---|---|
committer | Joe Wilm <joe@jwilm.com> | 2016-07-04 08:42:18 -0700 |
commit | b0444f05d6bf49dfc2ab5f5a4d0dc712ac068d70 (patch) | |
tree | 711eb0423bb1cd4652554f882067168f47c6206f /src/term.rs | |
parent | 02d9c860bbb164fb2af7b7011cdf724dc16f684c (diff) | |
download | alacritty-b0444f05d6bf49dfc2ab5f5a4d0dc712ac068d70.tar.gz alacritty-b0444f05d6bf49dfc2ab5f5a4d0dc712ac068d70.zip |
Term::ansi::Handler methods use debug_println!
debug_println! statements are compiled out in release builds. This
allows us to see what the terminal is sending in debug builds while
having good perf in release builds.
Diffstat (limited to 'src/term.rs')
-rw-r--r-- | src/term.rs | 103 |
1 files changed, 67 insertions, 36 deletions
diff --git a/src/term.rs b/src/term.rs index dcf8dba7..a6d591ee 100644 --- a/src/term.rs +++ b/src/term.rs @@ -23,6 +23,14 @@ use tty; use ::Rgb; +macro_rules! debug_println { + ($($t:tt)*) => { + if cfg!(debug_assertions) { + println!($($t)*); + } + } +} + /// coerce val to be between min and max fn limit<T: PartialOrd>(val: T, min: T, max: T) -> T { if val < min { @@ -352,7 +360,7 @@ impl Term { /// Convenience function for scrolling fn scroll(&mut self, lines: Line, direction: ScrollDirection) { - println!("[TERM] scrolling {} {} lines", direction, lines); + debug_println!("[TERM] scrolling {} {} lines", direction, lines); match direction { ScrollDirection::Down => { // Scrolled down, so need to clear from bottom @@ -415,20 +423,20 @@ impl ansi::Handler for Term { #[inline] fn goto(&mut self, line: Line, col: Column) { - println!("goto: line={}, col={}", line, col); + debug_println!("goto: line={}, col={}", line, col); self.cursor.line = line; self.cursor.col = col; } #[inline] fn goto_line(&mut self, line: Line) { - println!("goto_line: {}", line); + debug_println!("goto_line: {}", line); self.cursor.line = line; } #[inline] fn goto_col(&mut self, col: Column) { - println!("goto_col: {}", col); + debug_println!("goto_col: {}", col); self.cursor.col = col; } @@ -437,25 +445,25 @@ impl ansi::Handler for Term { #[inline] fn move_up(&mut self, lines: Line) { - println!("move_up: {}", lines); + debug_println!("move_up: {}", lines); self.cursor.line -= lines; } #[inline] fn move_down(&mut self, lines: Line) { - println!("move_down: {}", lines); + debug_println!("move_down: {}", lines); self.cursor.line += lines; } #[inline] fn move_forward(&mut self, cols: Column) { - println!("move_forward: {}", cols); + debug_println!("move_forward: {}", cols); self.cursor.col += cols; } #[inline] fn move_backward(&mut self, cols: Column) { - println!("move_backward: {}", cols); + debug_println!("move_backward: {}", cols); self.cursor.col -= cols; } @@ -470,7 +478,7 @@ impl ansi::Handler for Term { #[inline] fn put_tab(&mut self, mut count: i64) { - println!("put_tab: {}", count); + debug_println!("put_tab: {}", count); let mut col = self.cursor.col; while col < self.grid.num_cols() && count != 0 { @@ -489,21 +497,21 @@ impl ansi::Handler for Term { /// Backspace `count` characters #[inline] fn backspace(&mut self) { - println!("backspace"); + debug_println!("backspace"); self.cursor.col -= 1; } /// Carriage return #[inline] fn carriage_return(&mut self) { - println!("carriage_return"); + debug_println!("carriage_return"); self.cursor.col = Column(0); } /// Linefeed #[inline] fn linefeed(&mut self) { - println!("linefeed"); + debug_println!("linefeed"); if self.cursor.line + 1 >= self.scroll_region.end { self.scroll(Line(1), ScrollDirection::Down); self.clear_line(ansi::LineClearMode::Right); @@ -514,32 +522,40 @@ impl ansi::Handler for Term { /// Set current position as a tabstop #[inline] - fn bell(&mut self) { println!("bell"); } + fn bell(&mut self) { + debug_println!("bell"); + } #[inline] - fn substitute(&mut self) { println!("substitute"); } + fn substitute(&mut self) { + debug_println!("substitute"); + } #[inline] - fn newline(&mut self) { println!("newline"); } + fn newline(&mut self) { + debug_println!("newline"); + } #[inline] - fn set_horizontal_tabstop(&mut self) { println!("set_horizontal_tabstop"); } + fn set_horizontal_tabstop(&mut self) { + debug_println!("set_horizontal_tabstop"); + } #[inline] fn scroll_up(&mut self, lines: Line) { - println!("scroll_up: {}", lines); + debug_println!("scroll_up: {}", lines); self.scroll(lines, ScrollDirection::Up); } #[inline] fn scroll_down(&mut self, lines: Line) { - println!("scroll_down: {}", lines); + debug_println!("scroll_down: {}", lines); self.scroll(lines, ScrollDirection::Down); } #[inline] fn insert_blank_lines(&mut self, lines: Line) { - println!("insert_blank_lines: {}", lines); + debug_println!("insert_blank_lines: {}", lines); if self.scroll_region.contains(self.cursor.line) { self.scroll(lines, ScrollDirection::Down); } @@ -547,6 +563,7 @@ impl ansi::Handler for Term { #[inline] fn delete_lines(&mut self, lines: Line) { + debug_println!("delete_lines: {}", lines); if self.scroll_region.contains(self.cursor.line) { self.scroll(lines, ScrollDirection::Up); } @@ -554,7 +571,7 @@ impl ansi::Handler for Term { #[inline] fn erase_chars(&mut self, count: Column) { - println!("erase_chars: {}", count); + debug_println!("erase_chars: {}", count); let start = self.cursor.col; let end = start + count; @@ -565,23 +582,33 @@ impl ansi::Handler for Term { } #[inline] - fn delete_chars(&mut self, count: Column) { println!("delete_chars: {}", count); } + fn delete_chars(&mut self, count: Column) { + debug_println!("delete_chars: {}", count); + } #[inline] - fn move_backward_tabs(&mut self, count: i64) { println!("move_backward_tabs: {}", count); } + fn move_backward_tabs(&mut self, count: i64) { + debug_println!("move_backward_tabs: {}", count); + } #[inline] - fn move_forward_tabs(&mut self, count: i64) { println!("move_forward_tabs: {}", count); } + fn move_forward_tabs(&mut self, count: i64) { + debug_println!("move_forward_tabs: {}", count); + } #[inline] - fn save_cursor_position(&mut self) { println!("save_cursor_position"); } + fn save_cursor_position(&mut self) { + debug_println!("save_cursor_position"); + } #[inline] - fn restore_cursor_position(&mut self) { println!("restore_cursor_position"); } + fn restore_cursor_position(&mut self) { + debug_println!("restore_cursor_position"); + } #[inline] fn clear_line(&mut self, mode: ansi::LineClearMode) { - println!("clear_line: {:?}", mode); + debug_println!("clear_line: {:?}", mode); match mode { ansi::LineClearMode::Right => { let row = &mut self.grid[self.cursor.line]; @@ -595,7 +622,7 @@ impl ansi::Handler for Term { #[inline] fn clear_screen(&mut self, mode: ansi::ClearMode) { - println!("clear_screen: {:?}", mode); + debug_println!("clear_screen: {:?}", mode); match mode { ansi::ClearMode::Below => { let start = self.cursor.line; @@ -617,14 +644,18 @@ impl ansi::Handler for Term { } #[inline] - fn clear_tabs(&mut self, mode: ansi::TabulationClearMode) { println!("clear_tabs: {:?}", mode); } + fn clear_tabs(&mut self, mode: ansi::TabulationClearMode) { + debug_println!("clear_tabs: {:?}", mode); + } #[inline] - fn reset_state(&mut self) { println!("reset_state"); } + fn reset_state(&mut self) { + debug_println!("reset_state"); + } #[inline] fn reverse_index(&mut self) { - println!("reverse_index"); + debug_println!("reverse_index"); // if cursor is at the top if self.cursor.col == Column(0) { self.scroll(Line(1), ScrollDirection::Up); @@ -669,40 +700,40 @@ impl ansi::Handler for Term { Attr::Underscore => self.attr.insert(cell::UNDERLINE), Attr::CancelUnderline => self.attr.remove(cell::UNDERLINE), _ => { - println!("Term got unhandled attr: {:?}", attr); + debug_println!("Term got unhandled attr: {:?}", attr); } } } #[inline] fn set_mode(&mut self, mode: ansi::Mode) { - println!("set_mode: {:?}", mode); + debug_println!("set_mode: {:?}", mode); match mode { ansi::Mode::SwapScreenAndSetRestoreCursor => self.swap_alt(), ansi::Mode::ShowCursor => self.mode.insert(mode::SHOW_CURSOR), ansi::Mode::CursorKeys => self.mode.insert(mode::APP_CURSOR), _ => { - println!(".. ignoring set_mode"); + debug_println!(".. ignoring set_mode"); } } } #[inline] fn unset_mode(&mut self,mode: ansi::Mode) { - println!("unset_mode: {:?}", mode); + debug_println!("unset_mode: {:?}", mode); match mode { ansi::Mode::SwapScreenAndSetRestoreCursor => self.swap_alt(), ansi::Mode::ShowCursor => self.mode.remove(mode::SHOW_CURSOR), ansi::Mode::CursorKeys => self.mode.remove(mode::APP_CURSOR), _ => { - println!(".. ignoring unset_mode"); + debug_println!(".. ignoring unset_mode"); } } } #[inline] fn set_scrolling_region(&mut self, region: Range<Line>) { - println!("set scroll region: {:?}", region); + debug_println!("set scroll region: {:?}", region); self.scroll_region = region; } } |