OHZEKI Naoki
6b7a543c82
Add more util tests ( #3062 )
...
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2022-11-27 16:30:59 +09:00
Junegunn Choi
2ba68d24f2
Do not erase info separator before redrawing it
2022-11-25 23:51:49 +09:00
Bruno Heridet
46877e0a92
test(eventbox): remove obsolete EvtClose const ( #3059 )
2022-11-23 19:38:14 +09:00
Junegunn Choi
a38b63be18
Fix mouse event above fzf finder
...
Fix #2949
2022-11-18 20:32:59 +09:00
Junegunn Choi
1bebd6f4f5
Fix panic on inverse match query with --tiebreak=chunk
...
Fix #3055
2022-11-18 20:16:43 +09:00
Zhizhen He
2a54e3d770
Fix typos in the source code ( #3048 )
2022-11-18 10:23:04 +09:00
Junegunn Choi
8868d7d188
Add --separator to customize the info separator
2022-11-10 16:23:33 +09:00
Junegunn Choi
01ae621f11
Add --border=[bold|double] and --preview-window=border-[bold|double]
2022-11-06 14:38:31 +09:00
Junegunn Choi
f984aa0d2c
Fix --border-label and --preview-label on tcell renderer
2022-11-06 14:35:20 +09:00
Junegunn Choi
c09ec8e4d1
Allow putting border label on the bottom line
...
Related #3022
2022-11-01 13:30:40 +09:00
Junegunn Choi
31bbaad06e
Add --preview-label and --preview-label-pos
...
Close #3022
2022-11-01 13:27:22 +09:00
Junegunn Choi
b9ca1fe830
Add horizontal separator after info panel (counter)
...
Close #3029
2022-11-01 13:27:11 +09:00
Junegunn Choi
e61585f2f3
Add --border-label and --border-label-pos
...
Close #3022
2022-11-01 13:27:00 +09:00
Junegunn Choi
168829b555
Add 'start' event that is triggered once when fzf finder starts
...
Close #1622
2022-10-27 00:38:38 +09:00
Junegunn Choi
22cbd9fa58
Implement height range (--height ~[VALUE][%])
...
Close #2953
2022-09-28 23:22:31 +09:00
Junegunn Choi
731daf0f37
Fix tcell renderer
...
Fix #2954
2022-09-26 14:09:38 +09:00
Junegunn Choi
6fb41a202a
Add --scheme=[default|path|history] option to choose scoring scheme
...
Close #2909
Close #2930
2022-08-28 22:22:39 +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
c1c355160d
Support border-{up,down} as the synonyms for border-{top,bottom}
2022-08-20 00:11:17 +09:00
Junegunn Choi
83515d5610
Update ANSI test cases
2022-08-13 22:40:37 +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
19f9bbca0d
Allow specifying fzf options in $FZF_TMUX_OPTS without '--'
2022-08-08 23:50:47 +09:00
Junegunn Choi
38259d0382
Fix incorrect ordering of --tiebreak=chunk
2022-08-03 22:18:26 +09:00
Junegunn Choi
f0bfeba733
Add new tiebreak: 'chunk'
...
Favors the line with shorter matched chunk. A chunk is a set of
consecutive non-whitespace characters.
Unlike the default `length`, this new scheme works well with tabular input.
# length prefers item #1 , because the whole line is shorter,
# chunk prefers item #2 , because the matched chunk ("foo") is shorter
fzf --height=6 --header-lines=2 --tiebreak=chunk --reverse --query=fo << "EOF"
N | Field1 | Field2 | Field3
- | ------ | ------ | ------
1 | hello | foobar | baz
2 | world | foo | bazbaz
EOF
If the input does not contain any spaces, `chunk` is equivalent to
`length`. But we're not going to set it as the default because it is
computationally more expensive.
Close #2285
Close #2537
- Not the exact solution to --tiebreak=length not taking --nth into account,
but this should work. And the added benefit is that it works well even
when --nth is not provided.
- Adding a bonus point to the last character of a word didn't turn out great.
The order of the result suddenly changes when you type in the last
character in the word producing a jarring effect.
2022-08-02 21:48:19 +09:00
Junegunn Choi
c3a7a24eea
Tweak bonus points to word boundaries
...
Close https://github.com/junegunn/fzf.vim/issues/1004
# jobs/latency.js is favored over job_latency.js
printf 'job_latency.js\njobs/latency.js' | fzf -qlatency
2022-08-02 20:57:13 +09:00
Junegunn Choi
bbbcd780c9
Allow "--version" to be used as the argument to --query, --header, et al.
...
But why?
2022-08-02 20:57:12 +09:00
Junegunn Choi
18f7230662
Fix mouse location in --height mode
...
Fix #2900
2022-07-29 15:42:44 +09:00
Junegunn Choi
3af5b7f2ac
Do not validate other options when --version is present
...
Close #2690
2022-07-21 22:36:52 +09:00
Junegunn Choi
7a7cfcacbe
Lift unicode.IsGraphic constraint for pointer, marker, and ellipsis
...
Use at your own risk.
Close #2709
Close #2055
2022-07-21 22:30:01 +09:00
Junegunn Choi
0d06c28b19
Fix delimiter regex to properly support caret (^)
...
Fix #2861
2022-07-21 21:21:06 +09:00
Junegunn Choi
821fc9feed
Fix failing test case
2022-07-20 12:29:45 +09:00
Junegunn Choi
82b46726fc
Add support for an alternative preview window layout
...
Close #2804
Close #2844
Related #2277
2022-07-20 12:08:54 +09:00
Junegunn Choi
70529878e2
Use SGR mouse mode for larger terminals
...
Fix #2840
2022-06-17 12:48:04 +09:00
Junegunn Choi
b089bb5e7b
Fix scrollability of the preview window in certain cases
...
Fix #2683
This commit fixes the cases where fzf incorrectly determines the
scrollability of the preview window when `--preview-window-wrap` is set.
Wrapping of the preview content happens during the rendering phase, so
it's currently not possible to know how many lines are actually needed
to display the content beforehand. So `preview-bottom` still may not
move to the very bottom with wrapping enabled.
2022-04-28 11:46:24 +09:00
Junegunn Choi
b3ab6311c5
Hide cursor while rendering the screen
...
Fix #2781
Fix #2588
Fix #1805
Fix https://github.com/junegunn/fzf.vim/issues/1370
Fix https://github.com/junegunn/fzf.vim/issues/1060
2022-04-04 22:06:16 +09:00
Junegunn Choi
d56f605b63
Add rebind
action for restoring bindings after unbind
...
Fix #2752
Close #2564
2022-04-04 21:54:22 +09:00
Junegunn Choi
f8b713f425
Remove redundant state update on reload
...
Related: 5209e95
2022-03-31 10:05:28 +09:00
Junegunn Choi
5209e95bc7
Make preview updated when reload and change-query are combined
...
Fix #2744
2022-03-29 22:27:03 +09:00
Junegunn Choi
ef67a45702
Add --ellipsis=.. option
...
Close #2432
Also see
- #1769
- https://github.com/junegunn/fzf/pull/1844#issuecomment-586663660
2022-03-29 21:35:36 +09:00
Junegunn Choi
b88eb72ac2
Modernize build tags
2022-03-29 21:23:45 +09:00
Junegunn Choi
a06671b47f
Increase TTY buffer limit
...
Kitty's shell intergration generates a long sequence of key presses in
certain cases. As long as the length of the sequence is finite, fzf can
process it.
Close #2748
2022-03-09 17:02:06 +09:00
Junegunn Choi
cd23401411
Fix rendering of the prompt line when overflow occurs with --info=inline
...
Fix #2692
2021-12-22 23:23:50 +09:00
Junegunn Choi
ce9af687bc
Remove unused code
2021-12-05 21:17:38 +09:00
Junegunn Choi
43f0d0cacd
change-preview-window to take multiple option sets separated by '|'
...
So you can "rotate" through the different options with a single binding.
fzf --preview 'cat {}' \
--bind 'ctrl-/:change-preview-window(70%|down,40%,border-horizontal|hidden|)'
Close #2376
2021-12-05 21:13:10 +09:00
Junegunn Choi
20b4e6953e
Implement change-preview and change-preview-window actions
...
The new actions are named with 'change-' prefix to differentiate from
the pre-existing, one-off 'preview(...)' action.
Fix #2360
Fix #2505
Fix #2666
Related #2435
Related #2376
- Can set up multiple bindings with different change-preview-window actions
- Not possible to "rotate" through the options with a single binding
- Enlarge or shrink not possible
2021-11-30 23:57:46 +09:00
Junegunn Choi
673c5d886d
Add 'put' action for putting the character to the prompt
...
fzf --bind 'space:preview(date)+put'
Close #2456
2021-11-04 00:49:05 +09:00
Junegunn Choi
7bff4661f6
Add --header-first option to display header before prompt line
...
Close #2422
2021-11-03 21:19:22 +09:00
Junegunn Choi
02cee2234d
Implement --scroll-off=LINES
...
Close #2533
2021-11-02 21:48:19 +09:00
Vlastimil Ovčáčík
e0dd2be3fb
Document escaping and expanding of quotes on Windows
...
Parsers included:
- go parser (well, this is easily dealt with using `` strings)
- win32 (shell-api) parser
- powershell parser (for powershell commands)
- powershell parsing rules for calling native commands
- internal parsers of select regex applications (like grep)
2021-11-02 15:56:20 +09:00
Vlastimil Ovčáčík
a33c011c21
Test escaping of powershell commands on Windows
2021-11-02 15:56:20 +09:00
Rashil Gandhi
7c3f42bbba
Fix powershell escaping
2021-11-02 15:56:20 +09:00
Junegunn Choi
edac9820b5
Cache cygpath result
...
No need to repeatedly run cygpath process because $SHELL never changes.
2021-10-25 18:46:59 +09:00
Rashil Gandhi
84a47f7102
Respect SHELL env var on Windows ( #2641 )
...
This makes fzf respect SHELL environment variable on Windows, like it does on *nix, whenever defined.
Close #2638
2021-10-23 01:09:47 +09:00
Junegunn Choi
97ae8afb6f
Reload should update preview window
...
Fix #2644
2021-10-23 01:06:15 +09:00
Vlastimil Ovčáčík
61339a8ae2
Add more tests of placeholder flags and simplify its logic ( #2624 )
...
* [tests] Test fzf's placeholders and escaping on practical commands
This tests some reasonable commands in fzf's templates (for commands,
previews, rebinds etc.), how are those commands escaped (backslashes,
double quotes), and documents if the output is executable in cmd.exe.
Both on Unix and Windows.
* [tests] Add testing of placeholder parsing and matching
Adds tests and bit of docs for the curly brackets placeholders in fzf's
template strings. Also tests the "placeholder" regex.
* [tests] Add more test cases of replacing placeholders focused on flags
Replacing placeholders in templates is already tested, this adds tests
that focus more on the parameters of placeholders - e.g. flags, token
ranges.
There is at least one test for each flag, not all combinations are
tested though.
* [refactoring] Split OS-specific function quoteEntry() to corresponding source file
This is minor refactoring, and also the function's test was made
crossplatform.
* [refactoring] Simplify replacePlaceholder function
Should be equivalent to the original, but has simpler structure.
2021-10-15 22:31:59 +09:00
Junegunn Choi
50eb2e3855
Render spinner on info line during "reload"
...
Fix #2637
2021-10-15 22:13:57 +09:00
Vlastimil Ovčáčík
b8aa2d2c32
Minor refactoring tcell library from tui.go to tcell.go
...
To prevent including tcell library in non-windows builds.
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
0ff885461b
Add mouse support to the FullscreenRenderer
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
ca43f95fb1
Fix Backspace key to emit BSpace and AltBS events instead of CtrlH
...
CtrlH events are still sent when appropriate. I have adjusted
FullscreenRenderer to match the LightRenderer's behaviour, which seems
to be correct.
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
09700f676b
Add CtrlCaret keyboard event to FullscreenRenderer
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
4271e9cffa
Fix Ctrl+Space key combination to emit CtrlSpace instead of Rune ' '
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
f3dc8a10d5
Add ability to type AltGr characters in FullscreenRenderer on Windows.
2021-10-03 01:39:30 +09:00
Vlastimil Ovčáčík
00fb486f6a
[tests] Add testing of keyboard events in FullscreenRenderer.GetChar()
...
This contains one test case of each tcell.Key* event type that can be
sent to and subsequently processed in fzf's GetChar(). The test cases
describe status quo, and all of them PASS.
Small function util.ToTty() was added. It is similar to util.IsTty(),
but for stdout (hence the To preposition).
2021-10-03 01:39:30 +09:00
Junegunn Choi
4173e94c6f
Do not check for --height support on --version
...
https://github.com/junegunn/fzf.vim/issues/1329
2021-09-29 20:17:44 +09:00
Hiroki Konishi
261d3d3340
fix: replace broken links with archived ones
2021-09-28 18:07:22 +09:00
Hiroki Konishi
15e20fcae1
fix: spelling Refence
-> Reference
2021-09-28 18:07:22 +09:00
Vlastimil Ovčáčík
f4f47f5fe3
Minor changes
...
- obsolete todo removed, I tested the ev.ch for " " char and it works just
fine
2021-09-24 16:04:36 +09:00
Vlastimil Ovčáčík
71d11de7ca
[tests] Change tests to output to stdout only with verbose flag
...
This hides stdout output unless "go test -v" was run.
2021-09-24 16:04:36 +09:00
Vlastimil Ovčáčík
88d74a15aa
Change the tests to run on Windows ( #2615 )
...
Most of the "expected" strings in terminal.go test were changed to
"text/template" values. Quotes in those string were parametrized in
the templates. Two functions handling templates were added
for convenience.
Templates has the advantage of:
- parametrize repetitive strings inside "expected" values
- inner and outer quotes were parametrized in templates
- long and confusing test values are more readable
- templates can be localized for other operating systems
2021-09-24 09:45:06 +09:00
Junegunn Choi
0f02fc0c77
Reset {n} after reload
...
Fix #2611
2021-09-14 20:36:10 +09:00
Keating950
3f90fb42d8
Fix spelling error (Extention -> Extension) ( #2589 )
2021-08-17 16:40:24 +09:00
Michael Kelley
c21e9edad4
Restore VT hack for Windows ( #2580 )
...
- restore VT enable hack
- resolve an issue reported in https://github.com/kelleyma49/PSFzf
2021-08-15 16:01:50 +09:00
Junegunn Choi
7191ebb615
Do not show preview window by default if --preview
is empty
...
Close #2516
2021-06-08 08:53:29 +09:00
Junegunn Choi
8255aa23f4
Fix bug where --read0
not properly displaying long lines
...
Fix #2508
2021-06-01 16:55:51 +09:00
Junegunn Choi
a4bc08f5a3
Allow specifying 16 base ANSI colors by their names
...
Close #2502
2021-05-26 19:35:26 +09:00
Junegunn Choi
347c4b2625
Add 'unbind' action
...
Fix #2486
2021-05-22 13:16:39 +09:00
Junegunn Choi
3f75a8369f
Replace RuneWidth to StringWidth to handle grapheme clusters
...
Fix #2482
2021-05-14 11:44:44 +09:00
Junegunn Choi
da1f645670
Change --preview-window delimiter from : to , for consistency
...
Delimiter : was chosen when --preview-option only supported position and
size attributes. e.g. up:50%
2021-04-06 20:10:55 +09:00
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