summaryrefslogtreecommitdiff
path: root/alacritty_terminal/src/ansi.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty_terminal/src/ansi.rs')
-rw-r--r--alacritty_terminal/src/ansi.rs44
1 files changed, 22 insertions, 22 deletions
diff --git a/alacritty_terminal/src/ansi.rs b/alacritty_terminal/src/ansi.rs
index 4c50495c..21f0ec45 100644
--- a/alacritty_terminal/src/ansi.rs
+++ b/alacritty_terminal/src/ansi.rs
@@ -1131,12 +1131,12 @@ where
}
macro_rules! configure_charset {
- ($charset:path, $intermediate:expr) => {{
- let index: CharsetIndex = match $intermediate {
- Some(b'(') => CharsetIndex::G0,
- Some(b')') => CharsetIndex::G1,
- Some(b'*') => CharsetIndex::G2,
- Some(b'+') => CharsetIndex::G3,
+ ($charset:path, $intermediates:expr) => {{
+ let index: CharsetIndex = match $intermediates {
+ [b'('] => CharsetIndex::G0,
+ [b')'] => CharsetIndex::G1,
+ [b'*'] => CharsetIndex::G2,
+ [b'+'] => CharsetIndex::G3,
_ => {
unhandled!();
return;
@@ -1146,27 +1146,27 @@ where
}};
}
- match (byte, intermediates.get(0)) {
- (b'B', intermediate) => configure_charset!(StandardCharset::Ascii, intermediate),
- (b'D', None) => self.handler.linefeed(),
- (b'E', None) => {
+ match (byte, intermediates) {
+ (b'B', intermediates) => configure_charset!(StandardCharset::Ascii, intermediates),
+ (b'D', []) => self.handler.linefeed(),
+ (b'E', []) => {
self.handler.linefeed();
self.handler.carriage_return();
},
- (b'H', None) => self.handler.set_horizontal_tabstop(),
- (b'M', None) => self.handler.reverse_index(),
- (b'Z', None) => self.handler.identify_terminal(self.writer, None),
- (b'c', None) => self.handler.reset_state(),
- (b'0', intermediate) => {
- configure_charset!(StandardCharset::SpecialCharacterAndLineDrawing, intermediate)
+ (b'H', []) => self.handler.set_horizontal_tabstop(),
+ (b'M', []) => self.handler.reverse_index(),
+ (b'Z', []) => self.handler.identify_terminal(self.writer, None),
+ (b'c', []) => self.handler.reset_state(),
+ (b'0', intermediates) => {
+ configure_charset!(StandardCharset::SpecialCharacterAndLineDrawing, intermediates)
},
- (b'7', None) => self.handler.save_cursor_position(),
- (b'8', Some(b'#')) => self.handler.decaln(),
- (b'8', None) => self.handler.restore_cursor_position(),
- (b'=', None) => self.handler.set_keypad_application_mode(),
- (b'>', None) => self.handler.unset_keypad_application_mode(),
+ (b'7', []) => self.handler.save_cursor_position(),
+ (b'8', [b'#']) => self.handler.decaln(),
+ (b'8', []) => self.handler.restore_cursor_position(),
+ (b'=', []) => self.handler.set_keypad_application_mode(),
+ (b'>', []) => self.handler.unset_keypad_application_mode(),
// String terminator, do nothing (parser handles as string terminator).
- (b'\\', None) => (),
+ (b'\\', []) => (),
_ => unhandled!(),
}
}