Bram Moolenaar | e4f25e4 | 2017-07-07 11:54:15 +0200 | [diff] [blame] | 1 | INIT |
| 2 | UTF8 1 |
Bram Moolenaar | 6a12d26 | 2022-10-16 19:26:52 +0100 | [diff] [blame] | 3 | WANTSTATE seb |
Bram Moolenaar | e4f25e4 | 2017-07-07 11:54:15 +0200 | [diff] [blame] | 4 | |
| 5 | !ICH |
| 6 | RESET |
| 7 | erase 0..25,0..80 |
| 8 | ?cursor = 0,0 |
| 9 | PUSH "ACD" |
| 10 | PUSH "\e[2D" |
| 11 | ?cursor = 0,1 |
| 12 | PUSH "\e[@" |
| 13 | scrollrect 0..1,1..80 => +0,-1 |
| 14 | ?cursor = 0,1 |
| 15 | PUSH "B" |
| 16 | ?cursor = 0,2 |
| 17 | PUSH "\e[3@" |
| 18 | scrollrect 0..1,2..80 => +0,-3 |
| 19 | |
| 20 | !ICH with DECSLRM |
| 21 | PUSH "\e[?69h" |
| 22 | PUSH "\e[;50s" |
| 23 | PUSH "\e[20G\e[@" |
| 24 | scrollrect 0..1,19..50 => +0,-1 |
| 25 | |
| 26 | !ICH outside DECSLRM |
| 27 | PUSH "\e[70G\e[@" |
| 28 | # nothing happens |
| 29 | |
| 30 | !DCH |
| 31 | RESET |
| 32 | erase 0..25,0..80 |
| 33 | ?cursor = 0,0 |
| 34 | PUSH "ABBC" |
| 35 | PUSH "\e[3D" |
| 36 | ?cursor = 0,1 |
| 37 | PUSH "\e[P" |
| 38 | scrollrect 0..1,1..80 => +0,+1 |
| 39 | ?cursor = 0,1 |
| 40 | PUSH "\e[3P" |
| 41 | scrollrect 0..1,1..80 => +0,+3 |
| 42 | ?cursor = 0,1 |
| 43 | |
| 44 | !DCH with DECSLRM |
| 45 | PUSH "\e[?69h" |
| 46 | PUSH "\e[;50s" |
| 47 | PUSH "\e[20G\e[P" |
| 48 | scrollrect 0..1,19..50 => +0,+1 |
| 49 | |
| 50 | !DCH outside DECSLRM |
| 51 | PUSH "\e[70G\e[P" |
| 52 | # nothing happens |
| 53 | |
| 54 | !ECH |
| 55 | RESET |
| 56 | erase 0..25,0..80 |
| 57 | ?cursor = 0,0 |
| 58 | PUSH "ABC" |
| 59 | PUSH "\e[2D" |
| 60 | ?cursor = 0,1 |
| 61 | PUSH "\e[X" |
| 62 | erase 0..1,1..2 |
| 63 | ?cursor = 0,1 |
| 64 | PUSH "\e[3X" |
| 65 | erase 0..1,1..4 |
| 66 | ?cursor = 0,1 |
| 67 | # ECH more columns than there are should be bounded |
| 68 | PUSH "\e[100X" |
| 69 | erase 0..1,1..80 |
| 70 | |
| 71 | !IL |
| 72 | RESET |
| 73 | erase 0..25,0..80 |
| 74 | ?cursor = 0,0 |
| 75 | PUSH "A\r\nC" |
| 76 | ?cursor = 1,1 |
| 77 | PUSH "\e[L" |
| 78 | scrollrect 1..25,0..80 => -1,+0 |
| 79 | # TODO: ECMA-48 says we should move to line home, but neither xterm nor |
| 80 | # xfce4-terminal do this |
| 81 | ?cursor = 1,1 |
| 82 | PUSH "\rB" |
| 83 | ?cursor = 1,1 |
| 84 | PUSH "\e[3L" |
| 85 | scrollrect 1..25,0..80 => -3,+0 |
| 86 | |
| 87 | !IL with DECSTBM |
| 88 | PUSH "\e[5;15r" |
| 89 | PUSH "\e[5H\e[L" |
| 90 | scrollrect 4..15,0..80 => -1,+0 |
| 91 | |
| 92 | !IL outside DECSTBM |
| 93 | PUSH "\e[20H\e[L" |
| 94 | # nothing happens |
| 95 | |
| 96 | !IL with DECSTBM+DECSLRM |
| 97 | PUSH "\e[?69h" |
| 98 | PUSH "\e[10;50s" |
| 99 | PUSH "\e[5;10H\e[L" |
| 100 | scrollrect 4..15,9..50 => -1,+0 |
| 101 | |
| 102 | !DL |
| 103 | RESET |
| 104 | erase 0..25,0..80 |
| 105 | ?cursor = 0,0 |
| 106 | PUSH "A\r\nB\r\nB\r\nC" |
| 107 | ?cursor = 3,1 |
| 108 | PUSH "\e[2H" |
| 109 | ?cursor = 1,0 |
| 110 | PUSH "\e[M" |
| 111 | scrollrect 1..25,0..80 => +1,+0 |
| 112 | ?cursor = 1,0 |
| 113 | PUSH "\e[3M" |
| 114 | scrollrect 1..25,0..80 => +3,+0 |
| 115 | ?cursor = 1,0 |
| 116 | |
| 117 | !DL with DECSTBM |
| 118 | PUSH "\e[5;15r" |
| 119 | PUSH "\e[5H\e[M" |
| 120 | scrollrect 4..15,0..80 => +1,+0 |
| 121 | |
| 122 | !DL outside DECSTBM |
| 123 | PUSH "\e[20H\e[M" |
| 124 | # nothing happens |
| 125 | |
| 126 | !DL with DECSTBM+DECSLRM |
| 127 | PUSH "\e[?69h" |
| 128 | PUSH "\e[10;50s" |
| 129 | PUSH "\e[5;10H\e[M" |
| 130 | scrollrect 4..15,9..50 => +1,+0 |
| 131 | |
| 132 | !DECIC |
| 133 | RESET |
| 134 | erase 0..25,0..80 |
| 135 | PUSH "\e[20G\e[5'}" |
| 136 | scrollrect 0..25,19..80 => +0,-5 |
| 137 | |
| 138 | !DECIC with DECSTBM+DECSLRM |
| 139 | PUSH "\e[?69h" |
| 140 | PUSH "\e[4;20r\e[20;60s" |
| 141 | PUSH "\e[4;20H\e[3'}" |
| 142 | scrollrect 3..20,19..60 => +0,-3 |
| 143 | |
| 144 | !DECIC outside DECSLRM |
| 145 | PUSH "\e[70G\e['}" |
| 146 | # nothing happens |
| 147 | |
| 148 | !DECDC |
| 149 | RESET |
| 150 | erase 0..25,0..80 |
| 151 | PUSH "\e[20G\e[5'~" |
| 152 | scrollrect 0..25,19..80 => +0,+5 |
| 153 | |
| 154 | !DECDC with DECSTBM+DECSLRM |
| 155 | PUSH "\e[?69h" |
| 156 | PUSH "\e[4;20r\e[20;60s" |
| 157 | PUSH "\e[4;20H\e[3'~" |
| 158 | scrollrect 3..20,19..60 => +0,+3 |
| 159 | |
| 160 | !DECDC outside DECSLRM |
| 161 | PUSH "\e[70G\e['~" |
| 162 | # nothing happens |
| 163 | |
| 164 | !EL 0 |
| 165 | RESET |
| 166 | erase 0..25,0..80 |
| 167 | ?cursor = 0,0 |
| 168 | PUSH "ABCDE" |
| 169 | PUSH "\e[3D" |
| 170 | ?cursor = 0,2 |
| 171 | PUSH "\e[0K" |
| 172 | erase 0..1,2..80 |
| 173 | ?cursor = 0,2 |
| 174 | |
| 175 | !EL 1 |
| 176 | RESET |
| 177 | erase 0..25,0..80 |
| 178 | ?cursor = 0,0 |
| 179 | PUSH "ABCDE" |
| 180 | PUSH "\e[3D" |
| 181 | ?cursor = 0,2 |
| 182 | PUSH "\e[1K" |
| 183 | erase 0..1,0..3 |
| 184 | ?cursor = 0,2 |
| 185 | |
| 186 | !EL 2 |
| 187 | RESET |
| 188 | erase 0..25,0..80 |
| 189 | ?cursor = 0,0 |
| 190 | PUSH "ABCDE" |
| 191 | PUSH "\e[3D" |
| 192 | ?cursor = 0,2 |
| 193 | PUSH "\e[2K" |
| 194 | erase 0..1,0..80 |
| 195 | ?cursor = 0,2 |
| 196 | |
| 197 | !SEL |
| 198 | RESET |
| 199 | erase 0..25,0..80 |
| 200 | ?cursor = 0,0 |
| 201 | PUSH "\e[11G" |
| 202 | ?cursor = 0,10 |
| 203 | PUSH "\e[?0K" |
| 204 | erase 0..1,10..80 selective |
| 205 | ?cursor = 0,10 |
| 206 | PUSH "\e[?1K" |
| 207 | erase 0..1,0..11 selective |
| 208 | ?cursor = 0,10 |
| 209 | PUSH "\e[?2K" |
| 210 | erase 0..1,0..80 selective |
| 211 | ?cursor = 0,10 |
| 212 | |
| 213 | !ED 0 |
| 214 | RESET |
| 215 | erase 0..25,0..80 |
| 216 | ?cursor = 0,0 |
| 217 | PUSH "\e[2;2H" |
| 218 | ?cursor = 1,1 |
| 219 | PUSH "\e[0J" |
| 220 | erase 1..2,1..80 |
| 221 | erase 2..25,0..80 |
| 222 | ?cursor = 1,1 |
| 223 | |
| 224 | !ED 1 |
| 225 | RESET |
| 226 | erase 0..25,0..80 |
| 227 | ?cursor = 0,0 |
| 228 | PUSH "\e[2;2H" |
| 229 | ?cursor = 1,1 |
| 230 | PUSH "\e[1J" |
| 231 | erase 0..1,0..80 |
| 232 | erase 1..2,0..2 |
| 233 | ?cursor = 1,1 |
| 234 | |
| 235 | !ED 2 |
| 236 | RESET |
| 237 | erase 0..25,0..80 |
| 238 | ?cursor = 0,0 |
| 239 | PUSH "\e[2;2H" |
| 240 | ?cursor = 1,1 |
| 241 | PUSH "\e[2J" |
| 242 | erase 0..25,0..80 |
| 243 | ?cursor = 1,1 |
| 244 | |
Bram Moolenaar | 6a12d26 | 2022-10-16 19:26:52 +0100 | [diff] [blame] | 245 | !ED 3 |
| 246 | PUSH "\e[3J" |
| 247 | sb_clear |
| 248 | |
Bram Moolenaar | e4f25e4 | 2017-07-07 11:54:15 +0200 | [diff] [blame] | 249 | !SED |
| 250 | RESET |
| 251 | erase 0..25,0..80 |
| 252 | PUSH "\e[5;5H" |
| 253 | ?cursor = 4,4 |
| 254 | PUSH "\e[?0J" |
| 255 | erase 4..5,4..80 selective |
| 256 | erase 5..25,0..80 selective |
| 257 | ?cursor = 4,4 |
| 258 | PUSH "\e[?1J" |
| 259 | erase 0..4,0..80 selective |
| 260 | erase 4..5,0..5 selective |
| 261 | ?cursor = 4,4 |
| 262 | PUSH "\e[?2J" |
| 263 | erase 0..25,0..80 selective |
| 264 | ?cursor = 4,4 |
| 265 | |
| 266 | !DECRQSS on DECSCA |
| 267 | PUSH "\e[2\"q" |
| 268 | PUSH "\eP\$q\"q\e\\" |
| 269 | output "\eP1\$r2\"q\e\\" |
| 270 | |
| 271 | WANTSTATE -s+m |
| 272 | |
| 273 | !ICH move+erase emuation |
| 274 | RESET |
| 275 | erase 0..25,0..80 |
| 276 | ?cursor = 0,0 |
| 277 | PUSH "ACD" |
| 278 | PUSH "\e[2D" |
| 279 | ?cursor = 0,1 |
| 280 | PUSH "\e[@" |
| 281 | moverect 0..1,1..79 -> 0..1,2..80 |
| 282 | erase 0..1,1..2 |
| 283 | ?cursor = 0,1 |
| 284 | PUSH "B" |
| 285 | ?cursor = 0,2 |
| 286 | PUSH "\e[3@" |
| 287 | moverect 0..1,2..77 -> 0..1,5..80 |
| 288 | erase 0..1,2..5 |
| 289 | |
| 290 | !DCH move+erase emulation |
| 291 | RESET |
| 292 | erase 0..25,0..80 |
| 293 | ?cursor = 0,0 |
| 294 | PUSH "ABBC" |
| 295 | PUSH "\e[3D" |
| 296 | ?cursor = 0,1 |
| 297 | PUSH "\e[P" |
| 298 | moverect 0..1,2..80 -> 0..1,1..79 |
| 299 | erase 0..1,79..80 |
| 300 | ?cursor = 0,1 |
| 301 | PUSH "\e[3P" |
| 302 | moverect 0..1,4..80 -> 0..1,1..77 |
| 303 | erase 0..1,77..80 |
| 304 | ?cursor = 0,1 |