Junegunn Choi
4490b2d209
Respect ANSI codes to reset properties
...
Fix #3441
2023-09-16 19:50:37 +09:00
Emil Vanherp
4bef330ce1
Add support for ANSI strike-through ( #2932 )
...
Close #2932
Co-authored-by: Emil Vanherp <emil@vanherp.me>
2022-08-26 09:27:49 +09:00
Charlie Vieth
209d5e8e90
ansi: speed up escape sequence parsing ( #2927 )
2022-08-25 14:02:08 +09:00
Junegunn Choi
aa10dccf90
Support colon delimiter in ANSI escape sequences
...
# Both should work
printf "\e[38;5;208mOption 1\e[m\nOption 2" | fzf --ansi
printf "\e[38:5:208mOption 1\e[m\nOption 2" | fzf --ansi
This change makes ANSI parsing slightly slower.
cpu: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Before:
BenchmarkNextAnsiEscapeSequence-12 992.22 MB/s
BenchmarkExtractColor-12 174.35 MB/s
After:
BenchmarkNextAnsiEscapeSequence-12 925.05 MB/s
BenchmarkExtractColor-12 163.33 MB/s
Fix #2913
2022-08-13 22:30:50 +09:00
Junegunn Choi
f4fd53211a
Reformat comments adhere to gofmt
2022-08-12 22:11:15 +09:00
Junegunn Choi
be36de2482
Ignore more ANSI escape sequences
...
Fix #2420
2021-04-06 00:51:39 +09:00
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)
```
2021-03-11 19:34:50 +09:00
Junegunn Choi
1cfeec0ca3
Fix segmentation fault on \x1b[0K
...
Fix #2339
2021-02-01 22:59:11 +09:00
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
2020-11-25 01:49:48 +09:00
Junegunn Choi
dd49e41c42
Ignore xterm OSC control sequences
...
- OSC Ps ; Pt BEL
- OSC Ps ; Pt ST
Fix #1415
2020-03-03 21:19:23 +09:00
Junegunn Choi
567c8303bf
Update ANSI processor to handle "rmso" and "rmul"
...
Fix #1877
2020-02-18 00:45:24 +09:00
Junegunn Choi
85c1f8a9e0
Always prepend ANSI reset code before re-assembling tokens
2019-03-07 15:29:57 +09:00
Junegunn Choi
1a6defdbcc
Use simple string concatenation instead of using fmt.Sprintf
2019-03-07 02:00:31 +09:00
Junegunn Choi
ef577a6509
Preserve the original color of each token when using --with-nth with --ansi
...
Close #1500
2019-03-06 19:05:05 +09:00
Junegunn Choi
af809c9661
Minor refactorings
2017-08-26 03:24:42 +09:00
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.
2017-08-18 03:04:11 +09:00
Junegunn Choi
8d23646fe6
Revert "Short-circuit ANSI processing if no ANSI codes are found"
...
This reverts commit 656963e018
.
2017-08-17 19:12:44 +09:00
Junegunn Choi
656963e018
Short-circuit ANSI processing if no ANSI codes are found
2017-08-17 19:12:06 +09:00
Junegunn Choi
28810c178f
Optimize ANSI code scanner
...
This change gives 5x speed improvement
2017-07-19 21:49:41 +09:00
Junegunn Choi
bd9c46ee34
Update ANSI processor to strip ^H along with its preceding character
2017-02-02 13:00:41 +09:00
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
2016-11-26 00:36:38 +09:00
Junegunn Choi
182a6d99fd
[ncurses6] Support italics
2016-11-24 00:13:10 +09:00
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 .
2016-11-14 02:15:23 +09:00
Junegunn Choi
0c573b3dff
Prepare for termbox/windows build
...
`TAGS=termbox make` (or `go build -tags termbox`)
2016-11-07 02:32:14 +09:00
Junegunn Choi
06a6ad8bca
Update ANSI processor to ignore ^N and ^O
...
This reverts commit 02c6ad0e59
.
2016-10-30 12:29:29 +09:00
Junegunn Choi
1fc5659842
Add support for more ANSI color attributes ( #674 )
...
Dim, underline, blink, reverse
2016-09-29 00:54:27 +09:00
Junegunn Choi
bef405bfa5
Ignore VT100-related escape codes
2016-09-25 19:03:08 +09:00
Junegunn Choi
0612074abe
Support high intensity colors
...
Close #671
2016-09-25 18:11:35 +09:00
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
2016-08-19 02:39:32 +09:00
Junegunn Choi
a9a29dff4f
Fix duplicate rendering of the last line in preview window
2016-07-15 23:24:14 +09:00
Junegunn Choi
24e1fabf2e
Do not process ANSI codes in --preview output at once
...
Close #598
2016-06-14 21:52:47 +09:00
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
2015-08-02 14:00:18 +09:00
Junegunn Choi
5e3cb3a4ea
Fix ANSI processor to handle multi-line regions
2015-07-22 14:19:45 +09:00
Junegunn Choi
b68e59a24b
Fix ANSI offset calculation
2015-05-22 02:20:10 +09:00
Junegunn Choi
ce7d4a1c53
Fix #162 - Ignore \e[K
2015-03-27 12:35:06 +09:00
Junegunn Choi
9d138173be
Fix #155 - Empty ANSI color code to reset color state
2015-03-23 01:24:31 +09:00
Junegunn Choi
618706a5f5
Fix ANSI output in the presence of multibyte characters
...
tree -C | fzf --ansi --tac
2015-03-22 17:22:52 +09:00
Junegunn Choi
b431e227da
Code cleanup
2015-03-22 16:05:54 +09:00
Junegunn Choi
e70a2a5817
Add support for ANSI color codes
2015-03-19 01:59:14 +09:00