Junegunn Choi
be36de2482
Ignore more ANSI escape sequences
...
Fix #2420
4 years ago
Charlie Vieth
5a874ae241
Speed up ANSI code processing ( #2368 )
...
This commit speeds up the parsing/processing of ANSI escape codes by
roughly 7.5x. The speedup is mostly accomplished by replacing the regex
with dedicated parsing logic (nextAnsiEscapeSequence()) and reducing the
number of allocations in extractColor().
#### Benchmarks
```
name old time/op new time/op delta
ExtractColor-16 4.89µs ± 5% 0.64µs ± 2% -86.87% (p=0.000 n=9+9)
name old speed new speed delta
ExtractColor-16 25.6MB/s ± 5% 194.6MB/s ± 2% +661.43% (p=0.000 n=9+9)
name old alloc/op new alloc/op delta
ExtractColor-16 1.37kB ± 0% 0.31kB ± 0% -77.31% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
ExtractColor-16 48.0 ± 0% 4.0 ± 0% -91.67% (p=0.000 n=10+10)
```
4 years ago
Junegunn Choi
1cfeec0ca3
Fix segmentation fault on \x1b[0K
...
Fix #2339
4 years ago
Junegunn Choi
3829eab1cf
Support ANSI code for clearing the rest of the line (ESC[0K)
...
Some programs use it to set the background color for the whole line.
fzf --preview "printf 'normal \x1b[42mgreen\x1b[0K \x1b[43myellow\x1b[m\nnormal again'"
fzf --preview 'delta <(echo foo) <(echo bar) < /dev/tty'
Fix #2249
4 years ago
Junegunn Choi
dd49e41c42
Ignore xterm OSC control sequences
...
- OSC Ps ; Pt BEL
- OSC Ps ; Pt ST
Fix #1415
5 years ago
Junegunn Choi
567c8303bf
Update ANSI processor to handle "rmso" and "rmul"
...
Fix #1877
5 years ago
Junegunn Choi
85c1f8a9e0
Always prepend ANSI reset code before re-assembling tokens
6 years ago
Junegunn Choi
1a6defdbcc
Use simple string concatenation instead of using fmt.Sprintf
6 years ago
Junegunn Choi
ef577a6509
Preserve the original color of each token when using --with-nth with --ansi
...
Close #1500
6 years ago
Junegunn Choi
af809c9661
Minor refactorings
7 years ago
Junegunn Choi
931c78a70c
Short-circuit ANSI processing if no ANSI codes are found
...
Rework of 656963e
. Makes --ansi processing around 20% faster on plain
strings without ANSI codes.
7 years ago
Junegunn Choi
8d23646fe6
Revert "Short-circuit ANSI processing if no ANSI codes are found"
...
This reverts commit 656963e018
.
7 years ago
Junegunn Choi
656963e018
Short-circuit ANSI processing if no ANSI codes are found
7 years ago
Junegunn Choi
28810c178f
Optimize ANSI code scanner
...
This change gives 5x speed improvement
7 years ago
Junegunn Choi
bd9c46ee34
Update ANSI processor to strip ^H along with its preceding character
8 years ago
Junegunn Choi
de1c6b8727
[tcell] 24-bit color support
...
TAGS=tcell make install
printf "\x1b[38;2;100;200;250mTRUECOLOR\x1b[m\n" |
TERM=xterm-truecolor fzf --ansi
8 years ago
Junegunn Choi
182a6d99fd
[ncurses6] Support italics
8 years ago
Junegunn Choi
dc557c0d4c
Update ANSI processor to handle more VT-100 escape sequences
...
The updated regular expression should include not all but most of the
frequently used ANSI sequences. Close #735 .
8 years ago
Junegunn Choi
0c573b3dff
Prepare for termbox/windows build
...
`TAGS=termbox make` (or `go build -tags termbox`)
8 years ago
Junegunn Choi
06a6ad8bca
Update ANSI processor to ignore ^N and ^O
...
This reverts commit 02c6ad0e59
.
8 years ago
Junegunn Choi
1fc5659842
Add support for more ANSI color attributes ( #674 )
...
Dim, underline, blink, reverse
8 years ago
Junegunn Choi
bef405bfa5
Ignore VT100-related escape codes
8 years ago
Junegunn Choi
0612074abe
Support high intensity colors
...
Close #671
8 years ago
Junegunn Choi
37dc273148
Micro-optimizations
...
- Make structs smaller
- Introduce Result struct and use it to represent matched items instead of
reusing Item struct for that purpose
- Avoid unnecessary memory allocation
- Avoid growing slice from the initial capacity
- Code cleanup
8 years ago
Junegunn Choi
a9a29dff4f
Fix duplicate rendering of the last line in preview window
8 years ago
Junegunn Choi
24e1fabf2e
Do not process ANSI codes in --preview output at once
...
Close #598
8 years ago
Junegunn Choi
0ea66329b8
Performance tuning - eager rune array conversion
...
> wc -l /tmp/list2
2594098 /tmp/list2
> time cat /tmp/list2 | fzf-0.10.1-darwin_amd64 -fqwerty > /dev/null
real 0m5.418s
user 0m10.990s
sys 0m1.302s
> time cat /tmp/list2 | fzf-head -fqwerty > /dev/null
real 0m4.862s
user 0m6.619s
sys 0m0.982s
9 years ago
Junegunn Choi
5e3cb3a4ea
Fix ANSI processor to handle multi-line regions
9 years ago
Junegunn Choi
b68e59a24b
Fix ANSI offset calculation
9 years ago
Junegunn Choi
ce7d4a1c53
Fix #162 - Ignore \e[K
10 years ago
Junegunn Choi
9d138173be
Fix #155 - Empty ANSI color code to reset color state
10 years ago
Junegunn Choi
618706a5f5
Fix ANSI output in the presence of multibyte characters
...
tree -C | fzf --ansi --tac
10 years ago
Junegunn Choi
b431e227da
Code cleanup
10 years ago
Junegunn Choi
e70a2a5817
Add support for ANSI color codes
10 years ago