Junegunn Choi
3a2015ee26
Fix minimum preview window height
2021-04-06 20:05:54 +09:00
Junegunn Choi
3d37a5ba1d
Apply preview-bg color to preview border of all shapes
2021-04-06 18:01:29 +09:00
Junegunn Choi
15f4cfb6d9
More border optins for preview window
...
Close #2431
2021-04-06 17:37:11 +09:00
Junegunn Choi
be36de2482
Ignore more ANSI escape sequences
...
Fix #2420
2021-04-06 00:51:39 +09:00
Junegunn Choi
8b36a4cb19
Speed up preview switching when doing partial rendering
...
Fix #2417
2021-04-04 13:43:16 +09:00
Michael Kelley
c8cd94a772
Ensure proper ESC seq handling under Windows preview mode ( #2430 )
...
- Increase go routine buffer size
- Add time wait for nonblock getchr()
- Resolve #2429
2021-04-04 13:19:43 +09:00
Junegunn Choi
764316a53d
Fix flaky test case: test_interrupt_execute
...
Try to avoid extraneous INT signal
2021-03-26 17:40:12 +09:00
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 {})"
2021-03-25 20:00:09 +09:00
Mitsuo Heijo
2e353aee96
Replace golang.org/x/crypto/ssh/terminal with golang.org/x/term ( #2395 )
...
See https://github.com/golang/go/issues/31044
2021-03-20 14:38:34 +09:00
Junegunn Choi
1b08f43f82
Advanced preview scroll offset expression to better support fixed header
2021-03-13 02:26:41 +09:00
Junegunn Choi
b24a2e2fdc
Fix regression in preview window rendering
2021-03-12 21:23:16 +09:00
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'
2021-03-12 20:32:27 +09:00
Junegunn Choi
7310370a31
Fix truncation of colored line when --preview-window wrap is set
...
Fix #2346
2021-03-12 20:31:27 +09:00
Junegunn Choi
8ae94f0059
Fix premature truncation of colored line when --preview-window wrap is set
...
Fix #2346
2021-03-12 11:05:51 +09:00
Junegunn Choi
8fccf20892
Fix incorrect tab character handling
...
Fix #2372
2021-03-12 10:08:18 +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
b82c1693c0
Fix deadlocks
2021-03-08 00:08:10 +09:00
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
2021-03-07 23:35:19 +09:00
Junegunn Choi
f657169616
Fix deadlock on exit
2021-03-07 21:44:08 +09:00
Junegunn Choi
e2e8d94b14
Kill input command on terminate
...
Fix #2381
Close #2382
2021-03-07 11:30:26 +09:00
bitterfox
4f9a7f8c87
Don't exit fzf by SIGINT while executing command ( #2375 )
...
Fix #2374
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2021-02-28 21:01:03 +09:00
Junegunn Choi
bb0502ff44
Check gofmt in make test
2021-02-28 18:28:21 +09:00
Junegunn Choi
76bbf57b3d
Add select and deselect actions
...
Close #2358
2021-02-25 21:23:05 +09:00
odeson24
9fe1a7b373
Remove redundant assignment ( #2356 )
...
Co-authored-by: Ryan Ou <ryanou@aetherai.com>
2021-02-17 10:28:43 +09:00
Junegunn Choi
f55c990e86
Add close
action
...
Close #2331
2021-02-02 00:11:05 +09:00
Junegunn Choi
c862af09f2
Fix toggle-preview-wrap action
...
Fix #2336
2021-02-01 23:14:21 +09:00
Junegunn Choi
1cfeec0ca3
Fix segmentation fault on \x1b[0K
...
Fix #2339
2021-02-01 22:59:11 +09:00
freddii
58ac1fb2fa
Fix typos in source code ( #2322 )
2021-01-15 10:10:09 +09:00
Junegunn Choi
e922704f72
Migrate to GitHub Actions
2021-01-13 19:10:24 +09:00
E.L.K
eaa0c52b45
Fix selection changed on terminal resize ( #2306 )
2021-01-04 04:20:31 +09:00
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)?)
```
2021-01-03 14:38:09 +09:00
Junegunn Choi
8c533e34ea
0.25.0
2021-01-03 00:56:11 +09:00
Junegunn Choi
090dee857f
Do not disable mouse on SIGCONT before SIGSTOP
...
Fix #2161
2021-01-03 00:43:56 +09:00
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
2021-01-03 00:15:00 +09:00
Junegunn Choi
151252e33a
Add preview-top and preview-bottom actions
2020-12-31 12:57:57 +09:00
Junegunn Choi
7136cfc68b
Fix alt-, for --expect
2020-12-31 03:38:46 +09:00
Junegunn Choi
7f8e0dbc40
Extend support for alt key chords
...
"alt-" with any case-sensitive character is allowed
2020-12-30 18:39:17 +09:00
Junegunn Choi
0de7ab18f6
Add "last" action to move the cursor to the last match
...
This is the opposite of "first" (previously known as "top").
2020-12-30 18:39:17 +09:00
Junegunn Choi
f37ccaa64f
Prevent index out of range error
...
Fix #2293
2020-12-23 10:34:31 +09:00
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
2020-12-07 19:11:00 +09:00
Junegunn Choi
f502725120
Fix slice bound error on extremely narrow screen
2020-12-05 22:00:42 +09:00
Junegunn Choi
2ec382ae0e
Add --preview-window follow option
2020-12-05 21:16:35 +09:00
Junegunn Choi
6d647e13ff
Add change-prompt action
...
Close #2270
2020-12-04 20:34:41 +09:00
Junegunn Choi
d2af3ff98d
Change how hl:-1 or hl+:-1 is applied to text with background color
2020-12-04 19:27:43 +09:00
Junegunn Choi
2983426771
Fix unit tests
2020-11-25 13:08:28 +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
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
2020-11-24 19:51:19 +09:00
Junegunn Choi
1efef88b6e
Improve trim function to handle longer strings
...
Fix #2258
2020-11-24 19:03:59 +09:00
Junegunn Choi
f6269f0193
Add --padding option
...
Close #2241
2020-11-09 20:37:17 +09:00
Junegunn Choi
520eae817a
Remove print statement for debugging
2020-11-09 19:17:33 +09:00
Junegunn Choi
2553806e79
Allow preview window height shorter than 3
...
Fix #2231
2020-11-03 22:04:01 +09:00
Junegunn Choi
1bcbc5a353
Fix regression where lines are skipped in the preview window
...
Fix #2239
2020-11-03 21:31:19 +09:00
Junegunn Choi
15d351b0f0
Use default bg color when fg is set to -1 with reverse attribute
2020-11-03 20:51:44 +09:00
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 .
2020-10-31 02:53:10 +09:00
Junegunn Choi
7915e365b3
Prefer LightRenderer on Windows if it's available
...
Fix #1766
2020-10-31 01:41:57 +09:00
Junegunn Choi
e7ca237b07
Fix nil error on --color=bw
...
Fix #2229
2020-10-29 01:27:08 +09:00
Junegunn Choi
eaa413c566
Fix error when preview command failed to start
2020-10-27 21:36:38 +09:00
Junegunn Choi
552414978e
0.24.0-rc1
2020-10-27 11:07:27 +09:00
Junegunn Choi
607081bbaa
[vim] Download latest binary to meet version requirement
2020-10-27 01:01:58 +09:00
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
2020-10-26 22:51:22 +09:00
Junegunn Choi
9b946f2b7a
Fix preview window of tcell renderer
2020-10-25 21:43:53 +09:00
Junegunn Choi
11841f688b
Add support for text styling using --color
...
Close #1663
2020-10-25 19:30:41 +09:00
Junegunn Choi
03c4f04246
Use 64-bit integer for preview version
2020-10-24 16:55:55 +09:00
Junegunn Choi
a1f06ae27f
Fix regression where empty preview content is not displayed
2020-10-23 23:52:05 +09:00
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.
2020-10-23 23:32:10 +09:00
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'
2020-10-23 21:37:20 +09:00
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)
2020-10-20 20:04:06 +09:00
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}'
2020-10-18 17:03:33 +09:00
Junegunn Choi
fc7630a66d
0.23.1
2020-10-11 02:04:07 +09:00
Junegunn Choi
3248153d9f
Add --preview-window=default for resetting the options
2020-10-11 01:54:39 +09:00
Junegunn Choi
865144850d
Add nowrap, nocycle, nohidden for --preview-window
...
Close #2203
2020-10-09 21:56:16 +09:00
Junegunn Choi
d9752a4c21
Reset preview window flags that are not style-related
...
Fix #2203
2020-10-09 19:53:51 +09:00
Junegunn Choi
dba14d2630
0.23.0
2020-10-07 19:18:50 +09:00
Junegunn Choi
1d8bd11b67
Fix preview window size calculation
2020-10-06 19:37:33 +09:00
Junegunn Choi
bafb99d520
Allow splitting preview-window options
...
e.g. --preview-window sharp --preview-window cycle
2020-10-06 18:44:13 +09:00
Junegunn Choi
3cc8a74a91
Add --preview-window option for cyclic scrolling
...
Close #2182
2020-10-06 10:05:57 +09:00
Tinmarino
c0aa5a438f
Add preview-half-page-down and preview-half-page-up ( #2145 )
2020-10-05 21:58:56 +09:00
Junegunn Choi
6f9663da62
Always allow preview/execute commands with no placeholder expressions
...
Fix #2017
2020-09-29 11:32:56 +09:00
Wenxuan
f8ae1786dd
Fix items width limit ( #2190 )
2020-09-24 11:06:20 +09:00
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
2020-09-02 13:47:13 +09:00
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`.
2020-08-23 17:17:57 +09:00
Junegunn Choi
43798fc2e8
Revert 1ab4289
: Preview window of size 0 is allowed
2020-08-23 17:12:37 +09:00
Junegunn Choi
9dc4b40d7a
Add more preview window options and reduce vertical padding on noborder
...
Fix #2138
Fix #2029
2020-08-23 17:05:45 +09:00
Junegunn Choi
1cb19dbf65
Support preview scroll offset relative to window height
...
Related: https://github.com/junegunn/fzf.vim/issues/1092
2020-08-23 15:57:49 +09:00
Junegunn Choi
1ab4289ad6
Disallow preview-window size of zero
2020-08-21 11:49:01 +09:00
Junegunn Choi
e2ae1b249c
0.22.0
2020-08-02 15:56:02 +09:00
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;")
2020-08-02 10:03:17 +09:00
Junegunn Choi
f092e4038f
Smart match of accented characters
...
Fix #1618
2020-07-28 13:06:57 +09:00
Junegunn Choi
aa5dae391b
Fix handling of unicode characters in query string
2020-07-28 12:58:37 +09:00
Junegunn Choi
a61150a96c
Allow negative field index in preview-window scroll offset
2020-07-27 00:30:25 +09:00
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
2020-07-27 00:27:03 +09:00
Junegunn Choi
8e027c445f
Support ANSI colors in --prompt string
...
Close #2086
2020-07-05 16:16:46 +09:00
Junegunn Choi
e0217e8c79
Ignore cursor position report
...
Close #2081
2020-07-03 19:45:58 +09:00
Junegunn Choi
3ab1c42266
Use rune characters instaed of numbers in code
2020-07-03 19:41:19 +09:00
Junegunn Choi
199bc3f0ad
Merge branch 'master' into devel
2020-06-21 22:43:03 +09:00
Junegunn Choi
17dd833925
Add preview action for --bind
...
Fix #2010
Fix #1638
2020-06-21 22:41:33 +09:00
Khon Trieu
4ec144c969
Accented character normalization for Vietnamese characters ( #2090 )
...
Fix #2088
2020-06-21 17:19:38 +09:00
Junegunn Choi
c33258832e
Add refresh-preview action
2020-06-20 22:04:09 +09:00
Junegunn Choi
a7aa08ce07
Add backward-eof event for --bind
2020-06-07 23:07:03 +09:00
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.
2020-05-18 02:43:58 +09:00
Jack Bates
5deaf58928
Run rubocop --auto-correct --disable-uncorrectable ( #1967 )
...
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2020-04-13 00:23:31 +09:00
Junegunn Choi
334a4fa159
0.21.1
2020-04-03 17:33:29 +09:00
Alexandr
a6a732e1fc
Update AtomicBool to use atomic memory operation ( #1939 )
2020-03-30 01:42:58 +09:00
Junegunn Choi
07b965bba1
Fix ANSI color offsets when --keep-right is used
2020-03-23 19:05:06 +09:00
Junegunn Choi
c39113ee41
[windows] Do not include directories in the list
...
Fix #1926
2020-03-14 21:43:35 +09:00
Junegunn Choi
b0673c3563
0.21.0
2020-03-12 13:15:45 +09:00
Junegunn Choi
373c6d8d55
Add --keep-right option to keep the right end of the line visible
...
Close #1652
2020-03-11 22:35:24 +09:00
Michael Kelley
7d5985baf9
Make height option work under Windows ( #1341 )
...
Separate Unix & Windows code into platform specific files for light renderer
2020-03-10 00:03:34 +09:00
Junegunn Choi
ba82f0bef9
Do not read more than 10K characters from /dev/tty
...
This might help with #1456 where fzf hangs consuming CPU resources.
2020-03-07 11:20:44 +09:00
Junegunn Choi
d9b1211191
Add more --border options; default changed to "rounded"
...
--border option now takes an optional argument that defines the style
- rounded (new default)
- sharp
- horizontal (previous default)
2020-03-05 20:56:15 +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
4c9cab3f8a
Fix prefix/suffix/equal matcher to trim whitespaces
...
- Prefix matcher will trim leading whitespaces only when the pattern
doesn't start with a whitespace
- Suffix matcher will trim trailing whitespaces only when the pattern
doesn't end with a whitespace
- Equal matcher will trim leading whitespaces only when the pattern
doesn't start with a whitespace, and trim trailing whitespaces only
when the pattern doesn't end with a whitespace
Previously, only suffix matcher would trim whitespaces unconditionally.
Fix #1894
2020-03-01 12:36:02 +09:00
James Wright
9f0626da64
Add backward-delete-char/eof action ( #1891 )
...
'backward-delete-char/eof' will either abort if query is
empty or delete one character backwards.
2020-02-28 02:38:32 +09:00
Junegunn Choi
dca56da0ef
Add 'insert' key for --bind
...
Close #1744
2020-02-24 01:43:19 +09:00
Junegunn Choi
ec75d16ea8
Fix panic on unexpected escape sequences
2020-02-24 01:37:08 +09:00
Junegunn Choi
567c8303bf
Update ANSI processor to handle "rmso" and "rmul"
...
Fix #1877
2020-02-18 00:45:24 +09:00
Hiroki Konishi
2a60edcd52
Make pointer and multi-select marker customizable ( #1844 )
...
Add --pointer and --marker option which can provide additional context to the user
2020-02-17 10:19:03 +09:00
Hiroki Konishi
d61ac32d7b
Fix bug of validation of jump-labels ( #1875 )
...
When jump-labels are specified with `--jump-labels=` way, validation was
not carried out.
2020-02-16 15:45:59 +09:00
Junegunn Choi
8583b150c9
Fix inline info truncation
2020-02-06 12:01:51 +09:00
mattn
311b78ae82
[windows] Use native walker since output of DOS command is not UTF-8 encoded ( #1847 )
...
Makes scanning 300x faster on Windows
2020-02-04 12:31:00 +09:00
Shun Sakai
3918c45ced
Update copyright year ( #1832 )
...
Update copyright year to 2020 and change to multi-year format.
2020-01-25 01:41:55 +09:00
Tony Metzidis
f246fb2fc2
Show error message when failed to start preview command ( #1810 )
...
Fix #1637
2020-01-19 19:42:10 +09:00
Aaron Bieber
a1bcdc225e
Add pledge(2) support (OpenBSD only) via a 'protector' package. ( #1297 )
2020-01-19 14:13:32 +09:00
Junegunn Choi
7771241cc0
Fix F1, F2, F3, F4 on rxvt-unicode
...
Tested on urxvt.
Fix #1799 .
2020-01-18 12:30:38 +09:00
Junegunn Choi
6e3af646b2
Draw spinner with Unicode characters
2020-01-15 10:43:09 +09:00
Junegunn Choi
577024f1e9
Use rounded corners
2019-12-31 19:27:32 +09:00
Junegunn Choi
30577b0c17
0.20.0
2019-12-18 01:07:25 +09:00
Junegunn Choi
212de25409
Fix incorrect header array mutation
2019-12-16 18:47:05 +09:00
Junegunn Choi
3db6b88d82
Add preview-fg and preview-bg for --color
...
Close #1776
2019-12-12 23:03:17 +09:00
Junegunn Choi
8ae96774df
Gutter color of 16-color theme should be undefined by default
2019-12-12 22:53:28 +09:00
Junegunn Choi
2b725a4db5
Defer resetting multi-selection on reload
2019-12-09 21:32:58 +09:00
Junegunn Choi
af1a5f130b
Add clear-query and clear-selection
...
Close #1787
Related #1364
2019-12-07 14:44:24 +09:00
Junegunn Choi
86e3994e87
Properly clear list when --header-lines not filled on reload
2019-12-06 22:34:45 +09:00
Junegunn Choi
1e6ac5590e
'reload' action should be allowed even where there's no match
...
If the command template doesn't have any placeholder expressions.
: | fzf --bind 'space:reload:seq 10'
2019-12-06 22:34:30 +09:00
Junegunn Choi
394d8cfd18
Remove immediate flickering on reload action
2019-12-05 22:27:18 +09:00
Junegunn Choi
e615600ff1
Allow action composition over multiple --bind
...
# Note + prefix in the second bind expression
fzf --bind u:up --bind u:+up
fzf --bind u:up+up
2019-11-21 23:06:14 +09:00
Junegunn Choi
60465c4664
Fix parse error of --bind expression
2019-11-21 23:06:13 +09:00
Junegunn Choi
9a41fd5327
0.19.0
2019-11-15 22:54:55 +09:00
Junegunn Choi
2886f06977
Fix --preview-window noborder with non-default background color
2019-11-15 18:27:08 +09:00
Junegunn Choi
d630484eeb
Update error message for --preview-window
2019-11-15 17:20:47 +09:00
Junegunn Choi
e24299239e
Add --preview-window noborder
option to disable preview border
...
Close #1699
2019-11-15 11:39:51 +09:00
Junegunn Choi
d2fa470165
Add --info=STYLE [default|inline|hidden]
...
Close #1738
2019-11-15 00:39:29 +09:00
Junegunn Choi
168453da71
More key chords for --bind
...
Close #1752
2019-11-14 22:39:35 +09:00
Junegunn Choi
751aa1944a
Remove trailing whitespaces when using --with-nth
2019-11-12 23:20:09 +09:00
Junegunn Choi
05b5f3f845
'reload' action should reset multi-selection
2019-11-12 00:57:19 +09:00
Junegunn Choi
7e1c0f39e7
'reload' action should reset --header-lines
2019-11-12 00:10:24 +09:00
Junegunn Choi
deccf20a35
Fix regression of select-all
2019-11-11 23:31:31 +09:00
Junegunn Choi
73c0a645e0
Remove unnecessary reader barrier on --filter mode
2019-11-11 12:53:03 +09:00
Junegunn Choi
78da928727
Experimental implementation of "reload" action
...
# Reload input list with different sources
seq 10 | fzf --bind 'ctrl-a:reload(seq 100),ctrl-b:reload(seq 1000)'
# Reload as you type
seq 10 | fzf --bind 'change:reload:seq {q}' --phony
# Integration with ripgrep
RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
INITIAL_QUERY=""
FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \
fzf --bind "change:reload:$RG_PREFIX {q} || true" \
--ansi --phony --query "$INITIAL_QUERY"
Close #751
Close #965
Close #974
Close #1736
Related #1723
2019-11-10 11:43:37 +09:00
Junegunn Choi
11962dabba
Add --phony option for disabling search
...
With --phony, fzf becomes a simply selector interface without its own
search functionality. The query string is only used for building the
command for preview or execute action.
Close #1723
2019-11-10 11:36:55 +09:00
Alexandr
b4cccf23d4
Improvements to code quality and readability ( #1737 )
...
* Remove 1 unused field and 3 unused functions
unused elements fount by running
golangci-lint run --disable-all --enable unused
src/result.go:19:2: field `index` is unused (unused)
index int32
^
src/tui/light.go:716:23: func `(*LightWindow).stderr` is unused (unused)
func (w *LightWindow) stderr(str string) {
^
src/terminal.go:1015:6: func `numLinesMax` is unused (unused)
func numLinesMax(str string, max int) int {
^
src/tui/tui.go:167:20: func `ColorPair.is24` is unused (unused)
func (p ColorPair) is24() bool {
^
* Address warnings from "gosimple" linter
src/options.go:389:83: S1003: should use strings.Contains(str, ",,,") instead (gosimple)
if str == "," || strings.HasPrefix(str, ",,") || strings.HasSuffix(str, ",,") || strings.Index(str, ",,,") >= 0 {
^
src/options.go:630:18: S1007: should use raw string (`...`) with regexp.MustCompile to avoid having to escape twice (gosimple)
executeRegexp = regexp.MustCompile(
^
src/terminal.go:29:16: S1007: should use raw string (`...`) with regexp.MustCompile to avoid having to escape twice (gosimple)
placeholder = regexp.MustCompile("\\\\?(?:{[+sf]*[0-9,-.]*}|{q}|{\\+?f?nf?})")
^
src/terminal_test.go:92:10: S1007: should use raw string (`...`) with regexp.MustCompile to avoid having to escape twice (gosimple)
regex = regexp.MustCompile("\\w+")
^
* Address warnings from "staticcheck" linter
src/algo/algo.go:374:2: SA4006: this value of `offset32` is never used (staticcheck)
offset32, T := alloc32(offset32, slab, N)
^
src/algo/algo.go:456:2: SA4006: this value of `offset16` is never used (staticcheck)
offset16, C := alloc16(offset16, slab, width*M)
^
src/tui/tui.go:119:2: SA9004: only the first constant in this group has an explicit type (staticcheck)
colUndefined Color = -2
^
2019-11-05 09:46:51 +09:00
Junegunn Choi
68683c444f
Fix argument parser for -m
...
/cc @tessus
2019-11-02 20:44:21 +09:00
Junegunn Choi
a185593d65
Remove unnecessary map lookup
2019-11-02 19:55:05 +09:00
Junegunn Choi
525040238e
Fix behavior of 'deselect-all' to only deselect matches
...
To make it consistent with select-all and toggle-all.
Close #1364
2019-11-02 19:41:59 +09:00
Junegunn Choi
072066c49c
--multi to take optional argument to limit the number of selection
...
Close #1718
Related #688
2019-11-02 14:25:12 +09:00
Simon Fraser
391669a451
Add 'f' flag for placeholder expression ( #1733 )
...
If present the contents of the selection will be placed in a temporary file,
and the filename will be placed into the string instead.
2019-10-27 23:50:12 +09:00
Junegunn Choi
3b1e37f718
Fix #1657 : alt-0 to alt-9
2019-08-06 14:06:58 +09:00
Christian Muehlhaeuser
6577388250
os.Kill signal cannot be trapped ( #1641 )
2019-07-19 13:24:46 +09:00
Christian Muehlhaeuser
3b9dbd4146
Code cleanup: remove unnecessary string conversions ( #1642 )
2019-07-19 13:23:18 +09:00
Christian Muehlhaeuser
a1260feeed
Code cleanup ( #1640 )
...
- Replaced time.Now().Sub() with time.Since()
- Replaced unnecessary string/byte slice conversions
- Removed obsolete return and value assignment in range loop
2019-07-19 13:22:35 +09:00
Junegunn Choi
0e3e6ac442
Disallow preview scroll when the content just fits the window
2019-05-21 16:35:45 +09:00
Junegunn Choi
ef492f6178
Output --help message to standard output
...
Close #1554
2019-04-21 18:02:34 +09:00
Junegunn Choi
ff951341c9
0.18.0
2019-03-31 11:22:38 +09:00
Junegunn Choi
07d755df11
Fix regression of prompt display
2019-03-30 02:07:09 +09:00
Junegunn Choi
37585bd5a5
Disable preview scroll if the content fits on the screen
...
Close #1540
2019-03-29 18:28:45 +09:00
Junegunn Choi
89e24bf8f2
Fix ineffective break statement
2019-03-29 17:29:24 +09:00
Junegunn Choi
8d2fcd3518
Avoid unnecessary redraw of the preview window
2019-03-29 15:12:46 +09:00
Junegunn Choi
f39ab3875e
Redraw prompt only when necessary
2019-03-29 15:02:31 +09:00
Junegunn Choi
75972d59a8
Add --no-unicode option to draw borders in ASCII characters
...
Close ##1533
2019-03-29 02:11:03 +09:00
Junegunn Choi
2157f4f193
Add color option for gutter
...
fzf --color gutter:-1
Close #1529
Close #1468
2019-03-17 15:52:38 +09:00
Junegunn Choi
85c1f8a9e0
Always prepend ANSI reset code before re-assembling tokens
2019-03-07 15:29:57 +09:00
Junegunn Choi
e00e7e1e56
Remove unnecessary ANSI code injection
2019-03-07 02:02:02 +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
8dc1377efb
Export FZF_PREVIEW_LINES and FZF_PREVIEW_COLUMNS to preview process
...
fzf will still override LINES and COLUMNS as before but they may not
hold the correct values depending on the default shell.
Close #1314
2019-02-22 14:36:30 +09:00
Junegunn Choi
6c32148f90
Add placeholder expression for zero-based item index: {n} and {+n}
...
Close #1482
2019-02-19 01:12:57 +09:00
Junegunn Choi
5d16b28869
Fix tab width after ANSI reset code in preview window
...
Close #1423
2018-12-22 11:52:18 +09:00
Junegunn Choi
5624a89231
Inverse-only matches should not reorder the remaining results
...
Fix #1458
2018-12-19 23:05:29 +09:00
Junegunn Choi
ca42e5e00a
Avoid unnecessary redraw of preview window
...
Close #1455
2018-12-13 10:58:57 +09:00
Junegunn Choi
61feee690c
Render preview window when the initial query fails to match
...
Only if preview template contains {q}
Fix #1452
Related #1307
2018-12-05 18:45:55 +09:00
Junegunn Choi
b46227dcb6
0.17.5
2018-10-07 01:46:29 +09:00
Junegunn Choi
72df905902
Do not wait for more keystrokes after double escape characters
...
Close #1393
2018-09-28 10:33:53 +09:00
Junegunn Choi
0d748a0699
Kill running preview process after 500ms when focus has changed
...
Close #1383
Close #1384
2018-09-28 10:33:52 +09:00
Junegunn Choi
27c40dc6b0
Restore STDIN during execute-silent
...
This allows users to terminate the process with CTRL-C when it hangs.
2018-09-27 15:54:13 +09:00
Tim Cuthbertson
70a92a858a
Don't drop buffered input data in findOffset() ( #1392 )
2018-09-27 02:35:44 +09:00
Michael Kelley
423986996a
Handle incomplete ESC sequence in typeahead buffer ( #1350 )
...
If an ESC char is found while processing characters,
continue to check for characters. This prevents fzf from
prematurely exiting.
Close #1349
2018-08-08 15:43:55 +09:00
Junegunn Choi
0edbcbdf19
Allow search query longer than the screen width
...
By implementing horizontal scrolling of the prompt line.
Maximum length is hard-coded to 300-chars.
Close #1312
Fix #1225
2018-06-25 19:07:47 +09:00
Junegunn Choi
f0fe79dd3b
0.17.4
2018-06-10 10:35:52 +09:00
Akinori MUSHA
daa1958f86
Provide an option to reverse items only ( #1267 )
2018-06-10 01:41:50 +09:00
Junegunn Choi
2c26f02f5c
Improve preview window update events
...
- Update preview window even if there is no match for the query string
if any of the placeholder expressions evaluates to a non-empty string.
- Also, if the command template contains {q}, preview window will be
updated if the query string changes even though the focus remains on
the same item.
An example:
git log --oneline --color=always |
fzf --reverse --ansi --preview \
'[ -n {1} ] && git show --color=always {1} || git show --color=always {q}'
Close #1307
2018-06-10 01:40:22 +09:00
Junegunn Choi
9e753a0d44
Implement ttyname() in case /dev/tty is not available
...
Close #1266
Close #447
2018-04-25 17:50:47 +09:00
Junegunn Choi
f57920ad90
Do not print non-displayable characters
...
fzf used to print non-displayable characters (ascii code < 32) as '?',
but we will simply ignore those characters with this patch, just like
our terminals do.
\n and \r are exceptions. They will be printed as a space character.
TODO: \H should delete the preceding character, but this is not implemented.
Related: #1253
2018-04-12 17:49:52 +09:00
Junegunn Choi
7dbbbef51a
Add support for alt-{up,down,left,right} keys
...
Close #1234
2018-04-12 17:42:48 +09:00
ZDNoFYVe
43345fb642
Implement flag for preserving whitespace around field ( #1242 )
2018-03-30 11:47:46 +09:00
Ryan Boehning
21b94d2de5
Make fzf pass go vet
...
Add String() methods to types, so they can be printed with %s. Change
some %s format specifiers to %v, when the default string representation
is good enough. In Go 1.10, `go test` triggers a parallel `go vet`. So
this also makes fzf pass `go test`.
Close #1236
Close #1219
2018-03-13 14:56:55 +09:00
Junegunn Choi
417bca03df
Add shift-up and shift-down
...
For now, they are respectively bound to preview-up and preview-down
by default (TBD).
Not available on tcell build.
Close #1201
2018-02-15 19:57:21 +09:00
Jan Edmund Lazo
7f0caf0683
Update Windows default command to print relative paths ( #1200 )
2018-01-17 22:02:50 +09:00
Junegunn Choi
390b49653b
0.17.3
2017-12-03 23:55:24 +09:00
Junegunn Choi
9c47739c0e
Fix panic when replace-query is triggered on empty result set
2017-12-03 23:48:59 +09:00
Junegunn Choi
04aa2992e7
Revert "0.17.2"
...
This reverts commit 2f1edeff78
.
2017-12-03 23:42:38 +09:00