mirror of https://github.com/rivo/tview.git
Excluding control characters from output (creates unwanted artefacts). Fixes #130
This commit is contained in:
parent
398a6c2f77
commit
0ebcb1ed99
|
@ -5,6 +5,7 @@ import (
|
|||
"fmt"
|
||||
"regexp"
|
||||
"sync"
|
||||
"unicode"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/gdamore/tcell"
|
||||
|
@ -815,7 +816,7 @@ func (t *TextView) Draw(screen tcell.Screen) {
|
|||
|
||||
// Draw the character.
|
||||
var comb []rune
|
||||
if len(runeSequence) > 1 {
|
||||
if len(runeSequence) > 1 && !unicode.IsControl(runeSequence[1]) {
|
||||
// Allocate space for the combining characters only when necessary.
|
||||
comb = make([]rune, len(runeSequence)-1)
|
||||
copy(comb, runeSequence[1:])
|
||||
|
|
3
util.go
3
util.go
|
@ -419,7 +419,7 @@ func printWithStyle(screen tcell.Screen, text string, x, y, maxWidth, align int,
|
|||
_, background, _ := finalStyle.Decompose()
|
||||
finalStyle = overlayStyle(background, style, foregroundColor, backgroundColor, attributes)
|
||||
var comb []rune
|
||||
if len(runeSequence) > 1 {
|
||||
if len(runeSequence) > 1 && !unicode.IsControl(runeSequence[1]) {
|
||||
// Allocate space for the combining characters only when necessary.
|
||||
comb = make([]rune, len(runeSequence)-1)
|
||||
copy(comb, runeSequence[1:])
|
||||
|
@ -475,7 +475,6 @@ func printWithStyle(screen tcell.Screen, text string, x, y, maxWidth, align int,
|
|||
}
|
||||
runeSequence = append(runeSequence, ch)
|
||||
runeSeqWidth += chWidth
|
||||
|
||||
}
|
||||
if drawnWidth+runeSeqWidth <= maxWidth {
|
||||
flush()
|
||||
|
|
Loading…
Reference in New Issue