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>
5 years ago
Junegunn Choi
334a4fa159
0.21.1
5 years ago
Alexandr
a6a732e1fc
Update AtomicBool to use atomic memory operation ( #1939 )
5 years ago
Junegunn Choi
07b965bba1
Fix ANSI color offsets when --keep-right is used
5 years ago
Junegunn Choi
c39113ee41
[windows] Do not include directories in the list
...
Fix #1926
5 years ago
Junegunn Choi
b0673c3563
0.21.0
5 years ago
Junegunn Choi
373c6d8d55
Add --keep-right option to keep the right end of the line visible
...
Close #1652
5 years ago
Michael Kelley
7d5985baf9
Make height option work under Windows ( #1341 )
...
Separate Unix & Windows code into platform specific files for light renderer
5 years ago
Junegunn Choi
ba82f0bef9
Do not read more than 10K characters from /dev/tty
...
This might help with #1456 where fzf hangs consuming CPU resources.
5 years ago
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)
5 years ago
Junegunn Choi
dd49e41c42
Ignore xterm OSC control sequences
...
- OSC Ps ; Pt BEL
- OSC Ps ; Pt ST
Fix #1415
5 years ago
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
5 years ago
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.
5 years ago
Junegunn Choi
dca56da0ef
Add 'insert' key for --bind
...
Close #1744
5 years ago
Junegunn Choi
ec75d16ea8
Fix panic on unexpected escape sequences
5 years ago
Junegunn Choi
567c8303bf
Update ANSI processor to handle "rmso" and "rmul"
...
Fix #1877
5 years ago
Hiroki Konishi
2a60edcd52
Make pointer and multi-select marker customizable ( #1844 )
...
Add --pointer and --marker option which can provide additional context to the user
5 years ago
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.
5 years ago
Junegunn Choi
8583b150c9
Fix inline info truncation
5 years ago
mattn
311b78ae82
[windows] Use native walker since output of DOS command is not UTF-8 encoded ( #1847 )
...
Makes scanning 300x faster on Windows
5 years ago
Shun Sakai
3918c45ced
Update copyright year ( #1832 )
...
Update copyright year to 2020 and change to multi-year format.
5 years ago
Tony Metzidis
f246fb2fc2
Show error message when failed to start preview command ( #1810 )
...
Fix #1637
5 years ago
Aaron Bieber
a1bcdc225e
Add pledge(2) support (OpenBSD only) via a 'protector' package. ( #1297 )
5 years ago
Junegunn Choi
7771241cc0
Fix F1, F2, F3, F4 on rxvt-unicode
...
Tested on urxvt.
Fix #1799 .
5 years ago
Junegunn Choi
6e3af646b2
Draw spinner with Unicode characters
5 years ago
Junegunn Choi
577024f1e9
Use rounded corners
5 years ago
Junegunn Choi
30577b0c17
0.20.0
5 years ago
Junegunn Choi
212de25409
Fix incorrect header array mutation
5 years ago
Junegunn Choi
3db6b88d82
Add preview-fg and preview-bg for --color
...
Close #1776
5 years ago
Junegunn Choi
8ae96774df
Gutter color of 16-color theme should be undefined by default
5 years ago
Junegunn Choi
2b725a4db5
Defer resetting multi-selection on reload
5 years ago
Junegunn Choi
af1a5f130b
Add clear-query and clear-selection
...
Close #1787
Related #1364
5 years ago
Junegunn Choi
86e3994e87
Properly clear list when --header-lines not filled on reload
5 years ago
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'
5 years ago
Junegunn Choi
394d8cfd18
Remove immediate flickering on reload action
5 years ago
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
5 years ago
Junegunn Choi
60465c4664
Fix parse error of --bind expression
5 years ago
Junegunn Choi
9a41fd5327
0.19.0
5 years ago
Junegunn Choi
2886f06977
Fix --preview-window noborder with non-default background color
5 years ago
Junegunn Choi
d630484eeb
Update error message for --preview-window
5 years ago
Junegunn Choi
e24299239e
Add `--preview-window noborder` option to disable preview border
...
Close #1699
5 years ago
Junegunn Choi
d2fa470165
Add --info=STYLE [default|inline|hidden]
...
Close #1738
5 years ago
Junegunn Choi
168453da71
More key chords for --bind
...
Close #1752
5 years ago
Junegunn Choi
751aa1944a
Remove trailing whitespaces when using --with-nth
5 years ago
Junegunn Choi
05b5f3f845
'reload' action should reset multi-selection
5 years ago
Junegunn Choi
7e1c0f39e7
'reload' action should reset --header-lines
5 years ago
Junegunn Choi
deccf20a35
Fix regression of select-all
5 years ago
Junegunn Choi
73c0a645e0
Remove unnecessary reader barrier on --filter mode
5 years ago
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
5 years ago
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
5 years ago
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
^
5 years ago
Junegunn Choi
68683c444f
Fix argument parser for -m
...
/cc @tessus
5 years ago
Junegunn Choi
a185593d65
Remove unnecessary map lookup
5 years ago
Junegunn Choi
525040238e
Fix behavior of 'deselect-all' to only deselect matches
...
To make it consistent with select-all and toggle-all.
Close #1364
5 years ago
Junegunn Choi
072066c49c
--multi to take optional argument to limit the number of selection
...
Close #1718
Related #688
5 years ago
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.
5 years ago
Junegunn Choi
3b1e37f718
Fix #1657 : alt-0 to alt-9
5 years ago
Christian Muehlhaeuser
6577388250
os.Kill signal cannot be trapped ( #1641 )
5 years ago
Christian Muehlhaeuser
3b9dbd4146
Code cleanup: remove unnecessary string conversions ( #1642 )
5 years ago
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
5 years ago
Junegunn Choi
0e3e6ac442
Disallow preview scroll when the content just fits the window
5 years ago
Junegunn Choi
ef492f6178
Output --help message to standard output
...
Close #1554
6 years ago
Junegunn Choi
ff951341c9
0.18.0
6 years ago
Junegunn Choi
07d755df11
Fix regression of prompt display
6 years ago
Junegunn Choi
37585bd5a5
Disable preview scroll if the content fits on the screen
...
Close #1540
6 years ago
Junegunn Choi
89e24bf8f2
Fix ineffective break statement
6 years ago
Junegunn Choi
8d2fcd3518
Avoid unnecessary redraw of the preview window
6 years ago
Junegunn Choi
f39ab3875e
Redraw prompt only when necessary
6 years ago
Junegunn Choi
75972d59a8
Add --no-unicode option to draw borders in ASCII characters
...
Close ##1533
6 years ago
Junegunn Choi
2157f4f193
Add color option for gutter
...
fzf --color gutter:-1
Close #1529
Close #1468
6 years ago
Junegunn Choi
85c1f8a9e0
Always prepend ANSI reset code before re-assembling tokens
6 years ago
Junegunn Choi
e00e7e1e56
Remove unnecessary ANSI code injection
6 years ago
Junegunn Choi
1a6defdbcc
Use simple string concatenation instead of using fmt.Sprintf
6 years ago
Junegunn Choi
ef577a6509
Preserve the original color of each token when using --with-nth with --ansi
...
Close #1500
6 years ago
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
6 years ago
Junegunn Choi
6c32148f90
Add placeholder expression for zero-based item index: {n} and {+n}
...
Close #1482
6 years ago
Junegunn Choi
5d16b28869
Fix tab width after ANSI reset code in preview window
...
Close #1423
6 years ago
Junegunn Choi
5624a89231
Inverse-only matches should not reorder the remaining results
...
Fix #1458
6 years ago
Junegunn Choi
ca42e5e00a
Avoid unnecessary redraw of preview window
...
Close #1455
6 years ago
Junegunn Choi
61feee690c
Render preview window when the initial query fails to match
...
Only if preview template contains {q}
Fix #1452
Related #1307
6 years ago
Junegunn Choi
b46227dcb6
0.17.5
6 years ago
Junegunn Choi
72df905902
Do not wait for more keystrokes after double escape characters
...
Close #1393
6 years ago
Junegunn Choi
0d748a0699
Kill running preview process after 500ms when focus has changed
...
Close #1383
Close #1384
6 years ago
Junegunn Choi
27c40dc6b0
Restore STDIN during execute-silent
...
This allows users to terminate the process with CTRL-C when it hangs.
6 years ago
Tim Cuthbertson
70a92a858a
Don't drop buffered input data in findOffset() ( #1392 )
6 years ago
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
6 years ago
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
6 years ago
Junegunn Choi
f0fe79dd3b
0.17.4
6 years ago
Akinori MUSHA
daa1958f86
Provide an option to reverse items only ( #1267 )
6 years ago
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
6 years ago
Junegunn Choi
9e753a0d44
Implement ttyname() in case /dev/tty is not available
...
Close #1266
Close #447
7 years ago
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
7 years ago
Junegunn Choi
7dbbbef51a
Add support for alt-{up,down,left,right} keys
...
Close #1234
7 years ago
ZDNoFYVe
43345fb642
Implement flag for preserving whitespace around field ( #1242 )
7 years ago
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
7 years ago
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
7 years ago
Jan Edmund Lazo
7f0caf0683
Update Windows default command to print relative paths ( #1200 )
7 years ago
Junegunn Choi
390b49653b
0.17.3
7 years ago
Junegunn Choi
9c47739c0e
Fix panic when replace-query is triggered on empty result set
7 years ago
Junegunn Choi
04aa2992e7
Revert "0.17.2"
...
This reverts commit 2f1edeff78
.
7 years ago
Junegunn Choi
2f1edeff78
0.17.2
7 years ago
Junegunn Choi
5a7b41a2cf
Add accept-non-empty action
...
'accept-non-empty' is similar to 'accept' (which is bound to 'enter' and
'double-click' by default) but it prevents fzf from exiting without any
selection.
Close #1162
7 years ago
Junegunn Choi
c20954f020
Add replace-query action
...
replace-query action replaces the query string with the current
selection. If the selection is too long, it will be truncated.
If the line contains meta-characters of fzf search syntax, it is
possible that the line is no longer included in the updated result.
e.g.
echo '!hello' | fzf --bind ctrl-v:replace-query
Close #1137
7 years ago
Junegunn Choi
f6b1962056
Inject $LINES and $COLUMNS when running preview command
...
Close #1168
7 years ago
Junegunn Choi
b3b101a89c
Support binding of left-click and right-click
...
left-click and right-click are respectively bound to "ignore" and
"toggle" (after implicitly moving the cursor) by default.
Close #1130
7 years ago
Junegunn Choi
85a75ee035
Revert default command: find with -fstype required
...
In #1061 we changed the default command to retry with a simpler find
command with fewer arguments if the first find command failed. This was
to support stripped-down verions of find that do not support -fstype
argument.
However, this caused an unwanted side-effect of yielding duplicate
entries when the first command failed after producing some lines.
We revert the change in this commit, so the default command will not
work with find without -fstype support. But we now print better error
message in that case so that the user can set up a working
$FZF_DEFAULT_COMMAND.
Close #1120 #1167
7 years ago
Junegunn Choi
0b33dc6ce1
0.17.1
7 years ago
Junegunn Choi
64a6ced62e
Do not immediately check --height option on Windows ( #1082 )
7 years ago
Junegunn Choi
438f6c96cd
Fix compilation error of Windows binary
7 years ago
Jan Edmund Lazo
c4185e81e8
Fix ExecCommandWith for cmd.exe in Windows ( #1072 )
...
Close #1018
Run the command as is in cmd.exe with no parsing and escaping.
Explicity set cmd.SysProcAttr so execCommand does not escape the command.
Technically, the command should be escaped with ^ for special characters,
including ". This allows cmd.exe commands to be chained together.
See https://github.com/neovim/neovim/pull/7343#issuecomment-333350201
This commit also updates quoteEntry to use strings.Replace instead of
strconv.Quote which escapes more than \ and ".
7 years ago
Junegunn Choi
ee40212e97
Update FZF_DEFAULT_COMMAND
...
- Use bash for `set -o pipefail`
- Fall back to simpler find command when the original command failed
Related: #1061
7 years ago
Junegunn Choi
e1582b8323
Clean up renderer code
...
Remove code that is no longer relevant after the removal of ncurses
renderer. This commit also fixes background color issue on tcell-based
FullscreenRenderer (Windows).
7 years ago
Junegunn Choi
7cfa6f0265
Fix custom foreground color inside preview window (addendum)
...
This fixes foreground color inside preview window when the text has ANSI
attributes except for foreground color.
Close #1046
7 years ago
Junegunn Choi
e3973c74e7
Fix custom foreground color inside preview window
...
Close #1046
7 years ago
Junegunn Choi
e3e7b3360c
Delete ncurses implementation
7 years ago
Junegunn Choi
e89eebb7ba
0.17.0
7 years ago
Junegunn Choi
fee404399a
Make --expect additive
...
Similarly to --bind or --color.
--expect used to replace the previously specified keys, and
fzf#wrap({'options': '--expect=f1'}) wouldn't work as expected. It
forced us to come up with some ugly hacks like the following:
13b27c45c8/autoload/fzf/vim.vim (L1086)
7 years ago
Junegunn Choi
6b4805ca1a
Optimize rank comparison on x86 (little-endian)
7 years ago
Junegunn Choi
159699b5d7
Remove an unnecessary code branch
7 years ago
Junegunn Choi
af809c9661
Minor refactorings
7 years ago
Junegunn Choi
71fdb99a07
Remove bound checkings in inner loops
7 years ago
Junegunn Choi
55ee4186aa
Ignore EvtReadNew if EvtReadFin is already set
7 years ago
Junegunn Choi
941b0a0ff7
Minor optimization of FuzzyMatchV2
...
Calculate the first row of the score matrix during phase 2
7 years ago
Junegunn Choi
6aae12288e
Extract debug code from FuzzyMatchV2
7 years ago
Junegunn Choi
302cc552ef
Remove unused clear arguments of alloc16 and alloc32
7 years ago
Junegunn Choi
a2a4df0886
Pass util.Chars by pointer
7 years ago
Junegunn Choi
87874bba88
Remove redundant read event when --sync is used
7 years ago
Junegunn Choi
c304fc4333
Delay slab allocation
7 years ago
Junegunn Choi
6977cf268f
Limit search scope of uppercase letter
7 years ago
Junegunn Choi
931c78a70c
Short-circuit ANSI processing if no ANSI codes are found
...
Rework of 656963e
. Makes --ansi processing around 20% faster on plain
strings without ANSI codes.
7 years ago
Junegunn Choi
8d23646fe6
Revert "Short-circuit ANSI processing if no ANSI codes are found"
...
This reverts commit 656963e018
.
7 years ago
Junegunn Choi
656963e018
Short-circuit ANSI processing if no ANSI codes are found
7 years ago
Junegunn Choi
0558dfee79
Remove count field from ChunkList
7 years ago
Junegunn Choi
487c8fe88f
Make Reader event notification asynchronous
...
Instead of notifying the event coordinator (EventBox) whenever a new
line is arrived, start a background goroutine that periodically does the
task. Atomic.StoreInt32 is much cheaper than mutex synchronization
that happens during EventBox update.
7 years ago
Junegunn Choi
0d171ba1d8
Remove special nilItem
7 years ago
Junegunn Choi
6bc592e6c9
Update FuzzyMatchV1 to use skip optimization used in V2
7 years ago
Junegunn Choi
6c76d8cd1c
Disallow escaping of meta characters except for spaces
...
https://github.com/junegunn/fzf/issues/444#issuecomment-321719604
7 years ago
Junegunn Choi
a09e411936
Treat | as proper query when it can't be an OR operator
7 years ago
Junegunn Choi
02a7b96f33
Treat $ as proper search query
...
When $ is the leading character in a query, it's probably not meant to
be an anchor.
7 years ago
Junegunn Choi
e55e029ae8
Build cache key for a pattern only once
7 years ago
Junegunn Choi
6b18b144cf
Fix escaping of meta characters after ' or ! prefix
...
https://github.com/junegunn/fzf/issues/444#issuecomment-321432803
7 years ago
Junegunn Choi
6d53089cc1
Allow escaping term starting with |
...
Close #444
7 years ago
Junegunn Choi
e85a8a68d0
Allow escaping meta characters with backslashes
...
One can escape meta characters in extended-search mode with backslashes.
Prefixes:
\'
\!
\^
Suffix:
\$
Term separator:
\<SPACE>
To keep things simple, we are not going to support escaping of escaped
sequences (e.g. \\') for matching them literally.
Since this is a breaking change, we will bump the minor version.
Close #444
7 years ago
Junegunn Choi
dc55e68524
Remove unnecessary SCP (Save Cursor Position)
...
It is reported that it can have an unwanted side effect of clearing the
screen on terminal emulators that do not properly support it.
Patch suggested by @arya.
Close #1011
7 years ago
Junegunn Choi
999d374f0c
Fix invalid cache lookups
7 years ago
Junegunn Choi
ecb6b234cc
0.16.11
7 years ago
Junegunn Choi
39dbc8acdb
Exit 2 instead of panic when failed to open /dev/tty
7 years ago
Junegunn Choi
a56489bc7f
Remove non-exclusive access to ChunkList field
7 years ago
Junegunn Choi
99927c7071
Modify loop conditions in checkAscii function
7 years ago
Junegunn Choi
37370f057f
Do not use defer in performance-sensitive contexts
7 years ago
Junegunn Choi
f4b46fad27
Inline function calls in a tight loop
...
Manually inline function calls in a tight loop as Go compiler does not
inline non-leaf functions. It is observed that this unpleasant code
change resulted up to 10% performance improvement.
7 years ago
Junegunn Choi
8db3345c2f
Optimize exact match by applying the same trick for fuzzy match
7 years ago
Junegunn Choi
69aa2fea68
Optimize fuzzy search performance for ASCII strings
7 years ago
Junegunn Choi
4c5a679066
Make deselect-all instantaneous
7 years ago
Junegunn Choi
a0a3c349c9
Update preview window when selection has changed
...
Close #995
7 years ago
Junegunn Choi
6dbc108da2
0.16.10
7 years ago
Junegunn Choi
bd98f988f0
Further reduce unnecessary rune array conversion
...
I was too quick to release 0.16.9, this commit makes --ansi processing
even faster.
7 years ago
Junegunn Choi
06301c7847
Fix regression: ANSI color in preview window not cleared
7 years ago
Junegunn Choi
18a1aeaa91
0.16.9
7 years ago
Junegunn Choi
c9f16b6430
Avoid unconditionally storsing input as runes
...
When --with-nth is used, fzf used to preprocess each line and store the
result as rune array, which was wasteful if the line only contains ascii
characters.
7 years ago
Junegunn Choi
bc9d2abdb6
Improve preview window rendering
...
- Fix incorrect display of the last line when more than a line is
wrapped above
- Avoid unnecessary flickering of the window
7 years ago
Junegunn Choi
28810c178f
Optimize ANSI code scanner
...
This change gives 5x speed improvement
7 years ago
Junegunn Choi
a9e64efe45
Fix regression: output printed on alternate screen
7 years ago
Junegunn Choi
6b5886c034
Adjust --no-clear option for repetitive relaunching
...
Related: https://gist.github.com/junegunn/4963bab6ace453f7f529d2d0e01b1d85
Close #974
7 years ago
Junegunn Choi
bbe10f4f77
Consolidate Result and rank structs
...
By not storing item index twice, we can cut down the size of Result
struct and now it makes more sense to store and pass Results by values.
Benchmarks show no degradation of performance by additional pointer
indirection for looking up index.
7 years ago
Junegunn Choi
5e72709613
Speed up initial scanning with bitwise AND operation
7 years ago
Junegunn Choi
9e85cba0d0
Reduce memory footprint of Item struct
7 years ago
Junegunn Choi
8dbdd55730
Refactor cache lookup
...
- Remove multiple mutex locks in partial cache lookup
- Simplify return values
7 years ago
Junegunn Choi
6725151a99
Remove unnecessary copy of Chunk slice
7 years ago
Junegunn Choi
d4f3d5a164
Remove pointer indirection by changing Chunk definition
7 years ago
Junegunn Choi
b13fcfd831
Add missing --no-expect flag
7 years ago
Junegunn Choi
07ef2b051c
Print [ERROR] on info line when the default command failed
...
With zero result.
Related: https://github.com/junegunn/fzf.vim/issues/22#issuecomment-311869805
7 years ago
Junegunn Choi
0c66521b23
Fix handling of bracketed paste mode
...
fzf should immediately continue consuming the buffer after discarding
bracketed paste mode sequence.
Close #951
7 years ago
Junegunn Choi
b49f22cdf9
0.16.8
7 years ago
Junegunn Choi
bf0cb4bfe2
Use find as the default command on Cygwin environment
7 years ago
Junegunn Choi
ca0b3b6fd7
Fixes for Cygwin
...
- Update install script to download Windows binary if $TERM == cygwin
- Unset TERM if $TERM == cygwin (#933 )
- Always use cmd.exe instead of $SHELL when running commands
7 years ago
Junegunn Choi
83e9af6601
Add git revision to --version output
7 years ago
Junegunn Choi
8bbf9335e1
Restructuring: main package in project root
7 years ago
Junegunn Choi
159f30b37f
Merge branch 'glide' of https://github.com/hinshun/fzf into hinshun-glide
7 years ago
Junegunn Choi
2e3dc75425
Fix inconsistent tiebreak scores when --nth is used
...
Make sure to consistently calculate tiebreak scores based on the
original line.
This change may not be preferable if you filter aligned tabular input on
a subset of columns using --nth. However, if we calculate length
tiebreak only on the matched components instead of the entire line, the
result can be very confusing when multiple --nth components are
specified, so let's keep it simple and consistent.
Close #926
7 years ago
Edgar Lee
7d3575b362
Use glide to handle go dependencies
7 years ago
Junegunn Choi
5d6eb5bfd6
Respect ANSI color state from the previous line in preview output
7 years ago
Junegunn Choi
cf4711d878
Fix display of tab characters in --prompt
7 years ago
Tw
ab182e276b
Use read syscall directly to get character ( #931 )
...
Due to go std lib uses poller for os.File introducing in this commit:
c05b06a12d
There are two changes to watch out:
1. os.File.Fd will always return a blocking fd except on bsd.
2. os.File.Read won't return EAGAIN error for nonblocking fd.
So
For 1, we just get tty's fd in advance and then set its block mode.
For 2, we use read syscall directly to get what we wanted error(EAGAIN).
Fix issue #910 .
Signed-off-by: Tw <tw19881113@gmail.com>
7 years ago
Junegunn Choi
f5746002fd
Do not "--cycle" on page-up/page-down
...
Close #928
7 years ago
Junegunn Choi
e1e3339770
Implement bindable "change" event and "top" action
...
# Move cursor to the top result whenever the query string is changed
fzf --bind change:top
Close #925
7 years ago
Junegunn Choi
2d61691bb2
0.16.7
8 years ago
Junegunn Choi
eba9e04e2e
Export FZF_PREVIEW_HEIGHT instead of FZF_HEIGHT
...
https://github.com/junegunn/fzf.vim/issues/361
8 years ago
Junegunn Choi
7f17a9d1b4
Update mattn/go-shellwords
8 years ago
Junegunn Choi
d34e4cf698
Support CTRL-Z (SIGSTOP)
8 years ago
Junegunn Choi
6b592137b9
Add support for ctrl-alt-[a-z] key chords
...
Close #906
8 years ago
Junegunn Choi
9078197446
Add --version to --help output and man page
...
Close #888
Close #894
8 years ago
Junegunn Choi
e03e91477b
0.16.6
8 years ago
Junegunn Choi
6fd4be580b
Use alternate screen only when the value of height is 100%
...
Do not automatically decide to use alternate screen when the value of
height exceeds the height of the terminal.
# Use alternate screen
fzf
fzf --height 100%
fzf --no-height
# Still use current screen
fzf --height 10000
8 years ago
Junegunn Choi
53348feb89
Add --no-clear option
8 years ago
Junegunn Choi
cb9238dc4e
Display -S if sort is disabled and toggle-sort is used
...
This is to address a common confusion that one does not realize that
sorting is intentionally turned off by default and can be enabled by
a bind key.
8 years ago
Junegunn Choi
972fb1a29d
Suppress ANSI colors in preview window if --no-color is set
8 years ago
Junegunn Choi
c89ac341e4
Clear background even if background color is not set
...
This is needed when fzf is started from inside a program (e.g. Vim)
and it uses a different background color than the terminal.
- https://github.com/junegunn/fzf.vim/issues/325
- https://github.com/junegunn/fzf.vim/issues/300
8 years ago
Junegunn Choi
0b940e4b2b
Redraw item if query string has changed
8 years ago
Junegunn Choi
e87a85a179
0.16.5
8 years ago
Junegunn Choi
11407bf656
Exclude sysfs in find commands
8 years ago
Junegunn Choi
c82fb3c9b9
Add toggle-preview-wrap action
8 years ago
Junegunn Choi
309e1d8619
Properly truncate long query string
8 years ago
Junegunn Choi
3d74d277aa
Use cut instead of sed in the default command
8 years ago
Junegunn Choi
21da02fac2
Fix indentation
8 years ago
Junegunn Choi
19569bd5c5
Move cursor to the top-left when returning to alternate screen
...
Fix broken preview border. Reported by Thomas Sattler.
fzf --bind 'enter:execute(date)' --preview=date --reverse
8 years ago
Junegunn Choi
5bb18b6441
Remove Dockerfiles and clean up Makefile
...
Due to the recent removal of ncurses dependency, we can cross-compile
binaries for different platforms without virtual machines.
8 years ago
Junegunn Choi
ee5aeb80a4
0.16.4
8 years ago
Junegunn Choi
4b700192c1
Add --border option to draw horizontal lines above and below the finder
...
Goes well with --height
8 years ago
Junegunn Choi
fcf63c74f1
Fix --tiebreak=begin with algo v2
...
Due to performance consideration, FuzzyMatchV2 does not return the exact
positions of the matching characters by default. However, the ommission
caused `--tiebreak=begin` to produce inaccurate result in some cases.
(echo baz foo bar; echo foo bar baz) | fzf --tiebreak=begin -fbar | head -1
# Expected: foo bar baz
# Actual: baz foo bar
This commit fixes the problem by using the end offset which is
guaranteed to be correct.
8 years ago
Junegunn Choi
c95bb109c8
Suppress CSI codes in the output
8 years ago
Junegunn Choi
bd9c46ee34
Update ANSI processor to strip ^H along with its preceding character
8 years ago
Junegunn Choi
736aeaa1d3
Update go-runewidth
...
https://github.com/junegunn/go-runewidth/pull/1
/cc @joshuarubin
8 years ago
Junegunn Choi
dd1f26522c
Fix caching scheme when --exact is set and '-prefix is used
8 years ago
Junegunn Choi
d85a69a709
0.16.3
8 years ago
Junegunn Choi
dd156b59fc
Fix display issues with execute action
...
- Move cursor to the top-left corner when starting a command in
alternate screen
- Fix cursor position when returning to alternate screen when fzf is
running in full screen mode
8 years ago
Junegunn Choi
36dceecd58
Add support for ctrl-space key
...
Close #825
8 years ago
Junegunn Choi
421b9b271a
Add execute-silent action
...
Close #823
8 years ago
Junegunn Choi
ed57dcb924
Extend placeholder expression for multiple selections
...
Close #788
8 years ago
Junegunn Choi
da2c28d5c2
Add --read0 and --print0 to --help output
...
Close #822
8 years ago
Junegunn Choi
8731d75607
Recalculate the width of trimmed line
...
Close #821
8 years ago
Junegunn Choi
f2ce233a6d
0.16.2
8 years ago
Junegunn Choi
6a75e30941
Allow invisible preview window (--preview-window 0)
...
Close #820
8 years ago
Junegunn Choi
a3244c4892
Delete every line below the cursor
8 years ago
Junegunn Choi
a5ad8fd3bd
Minor refactoring
8 years ago
Junegunn Choi
deccdb1ec5
Cursor postition response can be preceded by user key strokes
8 years ago
Junegunn Choi
12a43b5e62
Disable mouse if failed to query cursor position
8 years ago
Junegunn Choi
e1291aa6d2
Fix make deps to see the right git dir
8 years ago
Junegunn Choi
bb26f32ac7
Allow build on OpenBSD/FreeBSD/Android
...
Close #497
8 years ago
Junegunn Choi
4d928001b8
Update release script to upload assets in parallel
8 years ago
Junegunn Choi
71dec3dc5e
Fix bug where screen is not properly cleared on toggle-preview
8 years ago
Junegunn Choi
ff248d566d
Drop ncurses dependency
...
Close #818
8 years ago
Junegunn Choi
6ccc12c332
Use alternate screen if --height needs the entire screen
...
- Remove unnecessary scrolling
- Allow us to use `--height 100%` under Neovim terminal for 24-bit colors
Related:
- #789
- https://github.com/neovim/neovim/issues/4151
8 years ago
Junegunn Choi
2a669e9a17
Clear lines even when background color is not set
...
Also revert the workaround in Vim plugin introduced in fa7c897
.
Related: #814
8 years ago
Junegunn Choi
24fa183297
make deps
8 years ago
Junegunn Choi
131aa5dd15
Composable actions in --bind
...
Close #816
8 years ago
Junegunn Choi
62ab8ece5e
0.16.1
8 years ago
Junegunn Choi
8e2e63f9b9
Propertly fill window with background color
...
Close #805
8 years ago
Junegunn Choi
f96173cbe4
Add -L flag to the default find command
...
Close #781
8 years ago
Amos Bird
11015df52f
Add half-page-{up,down} actions ( #784 )
8 years ago
Junegunn Choi
4bece04207
0.16.0
8 years ago
Junegunn Choi
ede7bfb901
Optimize LightRenderer for slow terminals
8 years ago
Junegunn Choi
e0036b5ad2
Add --filepath-word option
...
Close #802
8 years ago
Junegunn Choi
4ecb7f3a16
Replace --normalize with --literal and enable normalization by default
...
Ref #790
8 years ago
Junegunn Choi
03f5ef08c8
Use crypto/ssh/terminal instead of external stty command
8 years ago
Junegunn Choi
d64828ce6d
Print error message to stderr on unexpected exit
8 years ago
Junegunn Choi
2aa739be81
Fix bug where occurrence of the pattern in header lines are highlighted
8 years ago
Junegunn Choi
9977a3e9fc
Make preview renderer suspend early on line wrap
8 years ago
Junegunn Choi
f8082bc53a
No need to use /bin/sh to execute stty and tput
8 years ago
Junegunn Choi
996dcb14a3
Make fzf immediately quit when failed to read /dev/tty
...
Close #798
8 years ago
Junegunn Choi
0c127cfdc1
No need to query row position of the cursor if mouse is disabled
8 years ago
Junegunn Choi
ae274158de
Add experimental support for 24-bit colors
8 years ago
Junegunn Choi
340af463cd
Add --min-height option for percent --height
8 years ago
Junegunn Choi
78a3f81972
Do not use \e[s and \e[u
...
Excerpt from http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x361.html :
> - Save cursor position:
> \033[s
> - Restore cursor position:
> \033[u
>
> The latter two codes are NOT honoured by many terminal emulators. The
> only ones that I'm aware of that do are xterm and nxterm - even though
> the majority of terminal emulators are based on xterm code. As far as
> I can tell, rxvt, kvt, xiterm, and Eterm do not support them. They are
> supported on the console.
They are also unsupported by Neovim terminal.
8 years ago
Junegunn Choi
6c6c0a4778
Make util.RuneWidth return 1 for non-displayable characters
...
Fix line wrapping in preview window
8 years ago
Junegunn Choi
a16d8f66a9
Normalize pattern string before passing it to Algo function
8 years ago
Junegunn Choi
45793d75c2
Add --normalize option to normalize latin script characters
...
Close #790
8 years ago
Junegunn Choi
9d545f9578
Fix update of multi-select pointer
8 years ago
Junegunn Choi
a30999a785
Prepare for 0.16.0 release
8 years ago
Junegunn Choi
1448d631a7
Add --height option
8 years ago
Junegunn Choi
7b0d9e1e07
Apply --tabstop to preview window
8 years ago
Junegunn Choi
16b5902aa2
Fix Linux build ( #756 )
8 years ago
Junegunn Choi
a442fe0fd0
Truncate long lines in preview window
...
Add `:wrap` to --preview-window to wrap lines instead
Close #756
8 years ago
Junegunn Choi
67026718c1
Add BUILD.md
8 years ago
Junegunn Choi
a71c471405
0.15.9
8 years ago
Junegunn Choi
3858086047
Always print scroll indicator in preview window
8 years ago
Junegunn Choi
dffef3d9f3
Update build instructions for ncurses 6 and tcell
...
Close #357
Close #738
8 years ago
Junegunn Choi
de1c6b8727
[tcell] 24-bit color support
...
TAGS=tcell make install
printf "\x1b[38;2;100;200;250mTRUECOLOR\x1b[m\n" |
TERM=xterm-truecolor fzf --ansi
8 years ago
Junegunn Choi
6f17f412ba
Workaround for rendering glitch in case of short-lived input process
...
: | fzf --preview 'echo foo'
8 years ago
Junegunn Choi
746961bf43
[ncurses6] Suppress tui.Italic on ncurses 5
8 years ago