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