aboutsummaryrefslogtreecommitdiff
path: root/src/ansi.rs
diff options
context:
space:
mode:
authorJoe Wilm <joe@jwilm.com>2017-04-19 09:03:33 -0700
committerJoe Wilm <joe@jwilm.com>2017-04-19 09:03:33 -0700
commit77295e7f9e04660598b0323924c142cde30429f4 (patch)
treeb91b097c33d79fa790b0baa9423b863fb880d67e /src/ansi.rs
parent197e910d63bea2a334d402a342b58e37f93b4b85 (diff)
downloadalacritty-77295e7f9e04660598b0323924c142cde30429f4.tar.gz
alacritty-77295e7f9e04660598b0323924c142cde30429f4.zip
Partially add DECCOLM support
It's not possible with DECCOLM to temporarily set 80 or 132 column mode since the function is a toggle between the two. Instead, only the additional affects are run in order to get closer to passing vttest. vttest will never be perfect due to the column mode issue.
Diffstat (limited to 'src/ansi.rs')
-rw-r--r--src/ansi.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ansi.rs b/src/ansi.rs
index 2b71e537..cf7bbea2 100644
--- a/src/ansi.rs
+++ b/src/ansi.rs
@@ -263,6 +263,18 @@ pub trait Handler {
pub enum Mode {
/// ?1
CursorKeys = 1,
+ /// Select 80 or 132 columns per page
+ ///
+ /// CSI ? 3 h -> set 132 column font
+ /// CSI ? 3 l -> reset 80 column font
+ ///
+ /// Additionally,
+ ///
+ /// * set margins to default positions
+ /// * erases all data in page memory
+ /// * resets DECLRMM to unavailable
+ /// * clears data from the status line (if set to host-writable)
+ DECCOLM = 3,
/// ?6
Origin = 6,
/// ?7
@@ -296,6 +308,7 @@ impl Mode {
if private {
Some(match num {
1 => Mode::CursorKeys,
+ 3 => Mode::DECCOLM,
6 => Mode::Origin,
7 => Mode::LineWrap,
12 => Mode::BlinkingCursor,