summaryrefslogtreecommitdiffstats
path: root/src/ansi.go
AgeCommit message (Collapse)Author
2023-12-25Fix handling of empty ANSI color sequenceJunegunn Choi
Fix #3320
2023-09-16Respect ANSI codes to reset propertiesJunegunn Choi
Fix #3441
2022-08-26Add support for ANSI strike-through (#2932)Emil Vanherp
Close #2932 Co-authored-by: Emil Vanherp <emil@vanherp.me>
2022-08-25ansi: speed up escape sequence parsing (#2927)Charlie Vieth
2022-08-13Support colon delimiter in ANSI escape sequencesJunegunn Choi
# 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-12Reformat comments adhere to gofmtJunegunn Choi
2021-04-06Ignore more ANSI escape sequencesJunegunn Choi
Fix #2420
2021-03-11Speed up ANSI code processing (#2368)Charlie Vieth
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-02-01Fix segmentation fault on \x1b[0KJunegunn Choi
Fix #2339
2020-11-25Support ANSI code for clearing the rest of the line (ESC[0K)Junegunn Choi
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-03-03Ignore xterm OSC control sequencesJunegunn Choi
- OSC Ps ; Pt BEL - OSC Ps ; Pt ST Fix #1415
2020-02-18Update ANSI processor to handle "rmso" and "rmul"Junegunn Choi
Fix #1877
2019-03-07Always prepend ANSI reset code before re-assembling tokensJunegunn Choi
2019-03-07Use simple string concatenation instead of using fmt.SprintfJunegunn Choi
2019-03-06Preserve the original color of each token when using --with-nth with --ansiJunegunn Choi
Close #1500
2017-08-26Minor refactoringsJunegunn Choi
2017-08-18Short-circuit ANSI processing if no ANSI codes are foundJunegunn Choi
Rework of 656963e. Makes --ansi processing around 20% faster on plain strings without ANSI codes.
2017-08-17Revert "Short-circuit ANSI processing if no ANSI codes are found"Junegunn Choi
This reverts commit 656963e01805efccc788e7e2d83a4bcfaa01ee7b.
2017-08-17Short-circuit ANSI processing if no ANSI codes are foundJunegunn Choi
2017-07-19Optimize ANSI code scannerJunegunn Choi
This change gives 5x speed improvement
2017-02-02Update ANSI processor to strip ^H along with its preceding characterJunegunn Choi
2016-11-26[tcell] 24-bit color supportJunegunn Choi
TAGS=tcell make install printf "\x1b[38;2;100;200;250mTRUECOLOR\x1b[m\n" | TERM=xterm-truecolor fzf --ansi
2016-11-24[ncurses6] Support italicsJunegunn Choi
2016-11-14Update ANSI processor to handle more VT-100 escape sequencesJunegunn Choi
The updated regular expression should include not all but most of the frequently used ANSI sequences. Close #735.
2016-11-07Prepare for termbox/windows buildJunegunn Choi
`TAGS=termbox make` (or `go build -tags termbox`)
2016-10-30Update ANSI processor to ignore ^N and ^OJunegunn Choi
This reverts commit 02c6ad0e59be75981baeb1f41cb0bad03aad1c6b.
2016-09-29Add support for more ANSI color attributes (#674)Junegunn Choi
Dim, underline, blink, reverse
2016-09-25Ignore VT100-related escape codesJunegunn Choi
2016-09-25Support high intensity colorsJunegunn Choi
Close #671
2016-08-19Micro-optimizationsJunegunn Choi
- 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-07-15Fix duplicate rendering of the last line in preview windowJunegunn Choi
2016-06-14Do not process ANSI codes in --preview output at onceJunegunn Choi
Close #598
2015-08-02Performance tuning - eager rune array conversionJunegunn Choi
> 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-07-22Fix ANSI processor to handle multi-line regionsJunegunn Choi
2015-05-22Fix ANSI offset calculation0.9.12Junegunn Choi
2015-03-27Fix #162 - Ignore \e[KJunegunn Choi
2015-03-23Fix #155 - Empty ANSI color code to reset color stateJunegunn Choi
2015-03-22Fix ANSI output in the presence of multibyte charactersJunegunn Choi
tree -C | fzf --ansi --tac
2015-03-22Code cleanupJunegunn Choi
2015-03-19Add support for ANSI color codesJunegunn Choi