Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AnsiOutputStream does not filter all of tput sgr0 #29

Closed
daniel-beck opened this issue Aug 24, 2014 · 0 comments · Fixed by #92
Closed

AnsiOutputStream does not filter all of tput sgr0 #29

daniel-beck opened this issue Aug 24, 2014 · 0 comments · Fixed by #92

Comments

@daniel-beck
Copy link

The AnsiColor Plugin for Jenkins uses jansi / AnsiOutputStream to transform ANSI escape sequences into HTML output formatting for displaying build logs on the Jenkins web interface.

When running the command export TERM=xterm ; echo "$(tput setaf 3)highlight $(tput sgr0)normal" in an AnsiColor enabled build, output is filtered by AnsiOutputStream to:

highlight (Bnormal

(B is part of tput sgr0 output:

^[(B^[[m

This was reproduced even when increasing the jansi dependency to 1.11 (from 1.5) and removing all non-essential implementation from the AnsiOutputStream subclass.

Downstream issue: JENKINS-24387.

pmhahn added a commit to pmhahn/jansi that referenced this issue Aug 10, 2017
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 <fusesource#29>, a
upstream port of <https://issues.jenkins-ci.org/browse/JENKINS-24387>
gnodet added a commit to jline/jline3 that referenced this issue Sep 20, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant