Junegunn Choi
764316a53d
Fix flaky test case: test_interrupt_execute
...
Try to avoid extraneous INT signal
3 years ago
Junegunn Choi
f84b3de24b
Automatically set /dev/tty as STDIN on execute action
...
https://github.com/junegunn/fzf/issues/1360#issuecomment-788178140
# Redirect /dev/tty to suppress "Vim: Warning: Input is not from a terminal"
ls | fzf --bind "enter:execute(vim {} < /dev/tty)"
# With this change, we can omit "< /dev/tty" part
ls | fzf --bind "enter:execute(vim {})"
3 years ago
Mitsuo Heijo
2e353aee96
Replace golang.org/x/crypto/ssh/terminal with golang.org/x/term ( #2395 )
...
See https://github.com/golang/go/issues/31044
3 years ago
Junegunn Choi
1b08f43f82
Advanced preview scroll offset expression to better support fixed header
3 years ago
Junegunn Choi
b24a2e2fdc
Fix regression in preview window rendering
3 years ago
Junegunn Choi
4c4c6e626e
Add support for preview window header
...
Fix #2373
# Display top 3 lines as the fixed header
fzf --preview 'bat --style=header,grid --color=always {}' --preview-window '~3'
3 years ago
Junegunn Choi
7310370a31
Fix truncation of colored line when --preview-window wrap is set
...
Fix #2346
3 years ago
Junegunn Choi
8ae94f0059
Fix premature truncation of colored line when --preview-window wrap is set
...
Fix #2346
3 years ago
Junegunn Choi
8fccf20892
Fix incorrect tab character handling
...
Fix #2372
3 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)
```
3 years ago
Junegunn Choi
b82c1693c0
Fix deadlocks
3 years ago
Junegunn Choi
019bfc4e35
Fix yet another deadlock
...
EventBox.Set should not be called while holding the terminal mutex
goroutine 1 [semacquire]:
sync.runtime_SemacquireMutex(0xc0001923bc, 0x1000001066200, 0x1)
/usr/local/Cellar/go/1.16/libexec/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc0001923b8)
/usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(...)
/usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:81
github.com/junegunn/fzf/src.(*Terminal).Input(0xc000192000, 0x0, 0x0, 0x0, 0x0)
/fzf/src/terminal.go:581 +0x145
github.com/junegunn/fzf/src.Run.func10(0xc00010c8a0, 0xc000092050, 0xa)
/fzf/src/core.go:245 +0x37
github.com/junegunn/fzf/src.Run.func11(0xc00011a4e0)
/fzf/src/core.go:295 +0x5ce
github.com/junegunn/fzf/src/util.(*EventBox).Wait(0xc00011a4e0, 0xc000127ec8)
/fzf/src/util/eventbox.go:34 +0x5e
github.com/junegunn/fzf/src.Run(0xc000180000, 0x11ac014, 0x6, 0x11ac158, 0x7)
/fzf/src/core.go:251 +0xdac
main.main()
/fzf/main.go:13 +0x5a
goroutine 11 [semacquire]:
sync.runtime_SemacquireMutex(0xc00012c31c, 0xc00010e800, 0x1)
/usr/local/Cellar/go/1.16/libexec/src/runtime/sema.go:71 +0x47
sync.(*Mutex).lockSlow(0xc00012c318)
/usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:138 +0x105
sync.(*Mutex).Lock(0xc00012c318)
/usr/local/Cellar/go/1.16/libexec/src/sync/mutex.go:81 +0x47
github.com/junegunn/fzf/src/util.(*EventBox).Set(0xc00011a4e0, 0x7, 0x114eb40, 0x1265460)
/fzf/src/util/eventbox.go:40 +0x3b
github.com/junegunn/fzf/src.(*Terminal).killPreview(0xc000192000, 0x0)
/fzf/src/terminal.go:1831 +0xa5
github.com/junegunn/fzf/src.(*Terminal).exit(0xc000192000, 0xc000106e58)
/fzf/src/terminal.go:1847 +0x75
github.com/junegunn/fzf/src.(*Terminal).Loop.func8.1(0xc00011a540)
/fzf/src/terminal.go:2148 +0x38f
github.com/junegunn/fzf/src/util.(*EventBox).Wait(0xc00011a540, 0xc000106f90)
/fzf/src/util/eventbox.go:34 +0x5e
github.com/junegunn/fzf/src.(*Terminal).Loop.func8(0xc000192000, 0xc00010a2c0)
/fzf/src/terminal.go:2077 +0xa5
created by github.com/junegunn/fzf/src.(*Terminal).Loop
/fzf/src/terminal.go:2072 +0x3e8
3 years ago
Junegunn Choi
f657169616
Fix deadlock on exit
3 years ago
Junegunn Choi
e2e8d94b14
Kill input command on terminate
...
Fix #2381
Close #2382
3 years ago
bitterfox
4f9a7f8c87
Don't exit fzf by SIGINT while executing command ( #2375 )
...
Fix #2374
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
3 years ago
Junegunn Choi
bb0502ff44
Check gofmt in `make test`
3 years ago
Junegunn Choi
76bbf57b3d
Add select and deselect actions
...
Close #2358
3 years ago
odeson24
9fe1a7b373
Remove redundant assignment ( #2356 )
...
Co-authored-by: Ryan Ou <ryanou@aetherai.com>
3 years ago
Junegunn Choi
f55c990e86
Add `close` action
...
Close #2331
3 years ago
Junegunn Choi
c862af09f2
Fix toggle-preview-wrap action
...
Fix #2336
3 years ago
Junegunn Choi
1cfeec0ca3
Fix segmentation fault on \x1b[0K
...
Fix #2339
3 years ago
freddii
58ac1fb2fa
Fix typos in source code ( #2322 )
3 years ago
Junegunn Choi
e922704f72
Migrate to GitHub Actions
3 years ago
E.L.K
eaa0c52b45
Fix selection changed on terminal resize ( #2306 )
4 years ago
Elliott Sales de Andrade
82791f7efc
Use more explicit int-to-string conversion.
...
This fixes the following errors with Go 1.15:
```
src/options.go:452:69: conversion from untyped int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)
src/options.go:463:33: conversion from untyped int to string yields a string of one rune, not a string of digits (did you mean fmt.Sprint(x)?)
```
4 years ago
Junegunn Choi
8c533e34ea
0.25.0
4 years ago
Junegunn Choi
090dee857f
Do not disable mouse on SIGCONT before SIGSTOP
...
Fix #2161
4 years ago
Junegunn Choi
d779ff7e6d
Make search toggleable
...
- `--phony` renamed to `--disabled` for consistency
- `--no-phony` is now `--enabled`
- Added `enable-search`, `disable-search`, and `toggle-search` actions
for `--bind`
- Added `--color` options: `query` and `disabled`
Close #2303
4 years ago
Junegunn Choi
151252e33a
Add preview-top and preview-bottom actions
4 years ago
Junegunn Choi
7136cfc68b
Fix alt-, for --expect
4 years ago
Junegunn Choi
7f8e0dbc40
Extend support for alt key chords
...
"alt-" with any case-sensitive character is allowed
4 years ago
Junegunn Choi
0de7ab18f6
Add "last" action to move the cursor to the last match
...
This is the opposite of "first" (previously known as "top").
4 years ago
Junegunn Choi
f37ccaa64f
Prevent index out of range error
...
Fix #2293
4 years ago
Junegunn Choi
e0a22e76f8
Make --color attributes mergeable
...
So you can override the colors and still have the text attributes
# Default colors and attributes
fzf
export FZF_DEFAULT_OPTS='--color hl👎 underline,hl+👎 underline:reverse'
# Default colors with underline+reverse attributes
fzf
# Different colors with underline+reverse attributes
fzf --color hl:176,hl+:177
Related: https://github.com/junegunn/fzf.vim/issues/1197#issuecomment-739804363
4 years ago
Junegunn Choi
f502725120
Fix slice bound error on extremely narrow screen
4 years ago
Junegunn Choi
2ec382ae0e
Add --preview-window follow option
4 years ago
Junegunn Choi
6d647e13ff
Add change-prompt action
...
Close #2270
4 years ago
Junegunn Choi
d2af3ff98d
Change how hl:-1 or hl+:-1 is applied to text with background color
4 years ago
Junegunn Choi
2983426771
Fix unit tests
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
3fe8eeedc5
Fix handling of arrow keys with alt and/or shift modifier
...
Fix #2254
- Properly handle extra chars in the buffer. Patch suggested by @mckelly2833.
- Support alt-arrow sequences in \e[1;3A format
- Support shift-alt-arrow sequences in \e[1;10A format
4 years ago
Junegunn Choi
1efef88b6e
Improve trim function to handle longer strings
...
Fix #2258
4 years ago
Junegunn Choi
f6269f0193
Add --padding option
...
Close #2241
4 years ago
Junegunn Choi
520eae817a
Remove print statement for debugging
4 years ago
Junegunn Choi
2553806e79
Allow preview window height shorter than 3
...
Fix #2231
4 years ago
Junegunn Choi
1bcbc5a353
Fix regression where lines are skipped in the preview window
...
Fix #2239
4 years ago
Junegunn Choi
15d351b0f0
Use default bg color when fg is set to -1 with reverse attribute
4 years ago
Junegunn Choi
f8aaeef218
Revert "Prefer LightRenderer on Windows if it's available"
...
This reverts commit 7915e365b3
due to https://github.com/junegunn/fzf.vim/issues/1152#issuecomment-719696495 .
4 years ago
Junegunn Choi
7915e365b3
Prefer LightRenderer on Windows if it's available
...
Fix #1766
4 years ago
Junegunn Choi
e7ca237b07
Fix nil error on --color=bw
...
Fix #2229
4 years ago
Junegunn Choi
eaa413c566
Fix error when preview command failed to start
4 years ago
Junegunn Choi
552414978e
0.24.0-rc1
4 years ago
Junegunn Choi
607081bbaa
[vim] Download latest binary to meet version requirement
4 years ago
Junegunn Choi
2e8e63fb0b
Add more --border options
...
Instead of drawing the window border in Vim using an extra window,
extend the --border option so that we do can it natively.
Close #2223
Fix #2184
4 years ago
Junegunn Choi
9b946f2b7a
Fix preview window of tcell renderer
4 years ago
Junegunn Choi
11841f688b
Add support for text styling using --color
...
Close #1663
4 years ago
Junegunn Choi
03c4f04246
Use 64-bit integer for preview version
4 years ago
Junegunn Choi
a1f06ae27f
Fix regression where empty preview content is not displayed
4 years ago
Junegunn Choi
69dffd78a6
Do not assume that each character takes at least 1 column
...
Fixes #2163 , though this is not a proper fix to the problem.
4 years ago
Junegunn Choi
a4d9b0b468
Support ANSI escape sequence for clearing display in preview window
...
fzf --preview 'for i in $(seq 100000); do
(( i % 200 == 0 )) && printf "\033[2J"
echo "$i"
sleep 0.01
done'
4 years ago
Junegunn Choi
d2d4d68585
Always show the number of selected entries to indicate if --multi is enabled
...
Close #2217
seq 100 | fzf
# 100/100
seq 100 | fzf --multi
# 100/100 (0)
seq 100 | fzf --multi 5
# 100/100 (0/5)
4 years ago
Junegunn Choi
faf68dbc5c
Implement streaming preview window ( #2215 )
...
Fix #2212
# Will start rendering after 200ms, update every 100ms
fzf --preview 'for i in $(seq 100); do echo $i; sleep 0.01; done'
# Should print "Loading .." message after 500ms
fzf --preview 'sleep 1; for i in $(seq 100); do echo $i; sleep 0.01; done'
# The first line should appear after 200ms
fzf --preview 'date; sleep 2; date'
# Should not render before enough lines for the scroll offset are ready
rg --line-number --no-heading --color=always ^ |
fzf --delimiter : --ansi --preview-window '+{2}-/2' \
--preview 'sleep 1; bat --style=numbers --color=always --pager=never --highlight-line={2} {1}'
4 years ago
Junegunn Choi
fc7630a66d
0.23.1
4 years ago
Junegunn Choi
3248153d9f
Add --preview-window=default for resetting the options
4 years ago
Junegunn Choi
865144850d
Add nowrap, nocycle, nohidden for --preview-window
...
Close #2203
4 years ago
Junegunn Choi
d9752a4c21
Reset preview window flags that are not style-related
...
Fix #2203
4 years ago
Junegunn Choi
dba14d2630
0.23.0
4 years ago
Junegunn Choi
1d8bd11b67
Fix preview window size calculation
4 years ago
Junegunn Choi
bafb99d520
Allow splitting preview-window options
...
e.g. --preview-window sharp --preview-window cycle
4 years ago
Junegunn Choi
3cc8a74a91
Add --preview-window option for cyclic scrolling
...
Close #2182
4 years ago
Tinmarino
c0aa5a438f
Add preview-half-page-down and preview-half-page-up ( #2145 )
4 years ago
Junegunn Choi
6f9663da62
Always allow preview/execute commands with no placeholder expressions
...
Fix #2017
4 years ago
Wenxuan
f8ae1786dd
Fix items width limit ( #2190 )
4 years ago
Michael Kelley
ae15eda546
Add truecolor support for Windows, if available ( #2156 )
...
- Update to latest tcell which has 24 bit Windows support
- light renderer under Windows defaults to Dark256, if possible
- Respect TCELL_TRUECOLOR
- Remove tcell 1.3 references
4 years ago
Junegunn Choi
f2d44ab5a7
Revert horizontal padding around preview window on "noborder"
...
Use 2-space horizontal padding so that the preview content is aligned
with the candidate list when the position of the preview window is `up`
or `down`.
4 years ago
Junegunn Choi
43798fc2e8
Revert 1ab4289: Preview window of size 0 is allowed
4 years ago
Junegunn Choi
9dc4b40d7a
Add more preview window options and reduce vertical padding on noborder
...
Fix #2138
Fix #2029
4 years ago
Junegunn Choi
1cb19dbf65
Support preview scroll offset relative to window height
...
Related: https://github.com/junegunn/fzf.vim/issues/1092
4 years ago
Junegunn Choi
1ab4289ad6
Disallow preview-window size of zero
4 years ago
Junegunn Choi
e2ae1b249c
0.22.0
4 years ago
Junegunn Choi
92b7efafca
Ignore punctuation characters before and after preview offset column
...
This is to allow line numbers in a ctags output (e.g. 123;")
4 years ago
Junegunn Choi
f092e4038f
Smart match of accented characters
...
Fix #1618
4 years ago
Junegunn Choi
aa5dae391b
Fix handling of unicode characters in query string
4 years ago
Junegunn Choi
a61150a96c
Allow negative field index in preview-window scroll offset
4 years ago
Junegunn Choi
0f9cb5590e
Add preview window option for setting the initial scroll offset
...
Close #1057
Close #2120
# Initial scroll offset is set to the line number of each line of
# git grep output *minus* 5 lines
git grep --line-number '' |
fzf --delimiter : --preview 'nl {1}' --preview-window +{2}-5
4 years ago
Junegunn Choi
8e027c445f
Support ANSI colors in --prompt string
...
Close #2086
4 years ago
Junegunn Choi
e0217e8c79
Ignore cursor position report
...
Close #2081
4 years ago
Junegunn Choi
3ab1c42266
Use rune characters instaed of numbers in code
4 years ago
Junegunn Choi
199bc3f0ad
Merge branch 'master' into devel
4 years ago
Junegunn Choi
17dd833925
Add preview action for --bind
...
Fix #2010
Fix #1638
4 years ago
Khon Trieu
4ec144c969
Accented character normalization for Vietnamese characters ( #2090 )
...
Fix #2088
4 years ago
Junegunn Choi
c33258832e
Add refresh-preview action
4 years ago
Junegunn Choi
a7aa08ce07
Add backward-eof event for --bind
4 years ago
Junegunn Choi
97a725fbd0
Do not disable mouse after execute(-silent) when --height option is used
...
The action takes place in the alternate screen so the offsets should
still be correct.
4 years ago
Jack Bates
5deaf58928
Run rubocop --auto-correct --disable-uncorrectable ( #1967 )
...
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
4 years ago
Junegunn Choi
334a4fa159
0.21.1
4 years ago
Alexandr
a6a732e1fc
Update AtomicBool to use atomic memory operation ( #1939 )
4 years ago
Junegunn Choi
07b965bba1
Fix ANSI color offsets when --keep-right is used
4 years ago
Junegunn Choi
c39113ee41
[windows] Do not include directories in the list
...
Fix #1926
4 years ago
Junegunn Choi
b0673c3563
0.21.0
4 years ago