fusesource / jansi

Jansi is a small java library that allows you to use ANSI escape sequences to format your console output which works even on windows.
http://fusesource.github.io/jansi/
Apache License 2.0
1.12k stars 139 forks source link

Filter out escape sequence 'character set' select #92

Closed pmhahn closed 7 years ago

pmhahn commented 7 years ago

Some terminals (xterm) supports two different 'character sets' ('G0' and 'G1'), which can be switched with 'SI' (shift in, '\017') and 'SO' (shift out, '\016'). Each character set can be configured separately and can be chosen from a list of pre-defined sets like 'ASCII Set' and 'Special Graphics'.

Running TERM=xterm tput sgr0 to reset the terminal returns an escape sequence starting with 'ESC ( 0', which selects the 'ASCII Set' for 'G0'. This currently is not understood by the Jenkins AnsiColor plugin.

Filter out those sequences, as they otherwise clutter the output.

https://www.in-ulm.de/~mascheck/various/alternate_charset/ has a nice description for characters sets

This is issue https://github.com/fusesource/jansi/issues/29, a upstream port of https://issues.jenkins-ci.org/browse/JENKINS-24387

This fixes #29