Skip to content

Commit

Permalink
Preprocess and convert C1 controls to their 7 bit equivalent (microso…
Browse files Browse the repository at this point in the history
…ft#7340)

C1 control characters are now first converted to their 7 bit equivalent.
This allows us to unify the logic of C1 and C0 escape handling. This
also adds support for SOS/PM/APC string.

* Unify the logic for C1 and C0 escape handling by converting C1 to C0
  beforehand. This adds support for various C1 characters, including
  IND(8/4), NEL(8/5), HTS(8/8), RI(8/13), SS2(8/14), SS3(8/15),
  OSC(9/13), etc. 
* Add support for SOS/PM/APC escape sequences. Fixes microsoft#7032
* Use "Variable Length String" logic to unify the string termination
  handling of OSC, DCS and SOS/PM/APC. This fixes an issue where OSC
  action is successfully dispatched even when terminated with non-ST
  character. Introduced by microsoft#6328, the DCS PassThrough is spared from
  this issue. This PR puts them together and add test cases for them.

References:
https://vt100.net/docs/vt510-rm/chapter4.html
https://vt100.net/emu/dec_ansi_parser

Closes microsoft#7032
Closes microsoft#7317
  • Loading branch information
skyline75489 authored Sep 16, 2020
1 parent 863e3e5 commit f91b53d
Show file tree
Hide file tree
Showing 4 changed files with 388 additions and 106 deletions.
3 changes: 3 additions & 0 deletions .github/actions/spell-check/dictionary/dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20937,6 +20937,8 @@ apay
Apayao
APB
APC
Apc
apc
APDA
APDU
APE
Expand Down Expand Up @@ -383889,6 +383891,7 @@ sorus
sorva
sory
SOS
Sos
sos
Sosanna
so-seeming
Expand Down
Loading

0 comments on commit f91b53d

Please sign in to comment.