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
Junegunn Choi
2f1edeff78
0.17.2
2017-12-03 23:34:37 +09:00
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
2017-12-02 02:28:36 +09:00
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
2017-12-01 13:08:55 +09:00
Junegunn Choi
f6b1962056
Inject $LINES and $COLUMNS when running preview command
...
Close #1168
2017-12-01 03:28:10 +09:00
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
2017-12-01 03:28:08 +09:00
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
2017-12-01 01:40:42 +09:00
Junegunn Choi
0b33dc6ce1
0.17.1
2017-10-16 01:58:57 +09:00
Junegunn Choi
64a6ced62e
Do not immediately check --height option on Windows ( #1082 )
2017-10-15 19:02:05 +09:00
Junegunn Choi
438f6c96cd
Fix compilation error of Windows binary
2017-10-15 18:32:59 +09:00
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 ".
2017-10-14 15:26:37 +09:00
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
2017-09-28 23:05:02 +09:00
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).
2017-09-09 23:20:42 +09:00
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
2017-09-08 18:33:17 +09:00
Junegunn Choi
e3973c74e7
Fix custom foreground color inside preview window
...
Close #1046
2017-09-08 18:18:54 +09:00
Junegunn Choi
e3e7b3360c
Delete ncurses implementation
2017-09-02 03:19:50 +09:00
Junegunn Choi
e89eebb7ba
0.17.0
2017-08-27 03:32:21 +09:00
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)
2017-08-27 02:19:56 +09:00
Junegunn Choi
6b4805ca1a
Optimize rank comparison on x86 (little-endian)
2017-08-27 01:46:11 +09:00
Junegunn Choi
159699b5d7
Remove an unnecessary code branch
2017-08-26 20:09:46 +09:00
Junegunn Choi
af809c9661
Minor refactorings
2017-08-26 03:24:42 +09:00
Junegunn Choi
71fdb99a07
Remove bound checkings in inner loops
2017-08-26 01:28:39 +09:00
Junegunn Choi
55ee4186aa
Ignore EvtReadNew if EvtReadFin is already set
2017-08-20 14:30:17 +09:00
Junegunn Choi
941b0a0ff7
Minor optimization of FuzzyMatchV2
...
Calculate the first row of the score matrix during phase 2
2017-08-20 12:29:11 +09:00
Junegunn Choi
6aae12288e
Extract debug code from FuzzyMatchV2
2017-08-20 12:29:11 +09:00
Junegunn Choi
302cc552ef
Remove unused clear arguments of alloc16 and alloc32
2017-08-20 12:29:11 +09:00
Junegunn Choi
a2a4df0886
Pass util.Chars by pointer
2017-08-20 12:29:11 +09:00
Junegunn Choi
87874bba88
Remove redundant read event when --sync is used
2017-08-20 01:58:51 +09:00
Junegunn Choi
c304fc4333
Delay slab allocation
2017-08-19 12:14:48 +09:00
Junegunn Choi
6977cf268f
Limit search scope of uppercase letter
2017-08-18 05:30:13 +09:00
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.
2017-08-18 03:04:11 +09:00
Junegunn Choi
8d23646fe6
Revert "Short-circuit ANSI processing if no ANSI codes are found"
...
This reverts commit 656963e018
.
2017-08-17 19:12:44 +09:00
Junegunn Choi
656963e018
Short-circuit ANSI processing if no ANSI codes are found
2017-08-17 19:12:06 +09:00
Junegunn Choi
0558dfee79
Remove count field from ChunkList
2017-08-16 12:26:06 +09:00
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.
2017-08-16 03:33:48 +09:00
Junegunn Choi
0d171ba1d8
Remove special nilItem
2017-08-15 01:10:41 +09:00
Junegunn Choi
6bc592e6c9
Update FuzzyMatchV1 to use skip optimization used in V2
2017-08-12 00:28:30 +09:00
Junegunn Choi
6c76d8cd1c
Disallow escaping of meta characters except for spaces
...
https://github.com/junegunn/fzf/issues/444#issuecomment-321719604
2017-08-11 13:09:33 +09:00
Junegunn Choi
a09e411936
Treat | as proper query when it can't be an OR operator
2017-08-11 00:07:18 +09:00
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.
2017-08-10 23:59:52 +09:00
Junegunn Choi
e55e029ae8
Build cache key for a pattern only once
2017-08-10 23:18:52 +09:00
Junegunn Choi
6b18b144cf
Fix escaping of meta characters after ' or ! prefix
...
https://github.com/junegunn/fzf/issues/444#issuecomment-321432803
2017-08-10 12:40:53 +09:00
Junegunn Choi
6d53089cc1
Allow escaping term starting with |
...
Close #444
2017-08-09 23:33:37 +09:00
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
2017-08-09 23:28:47 +09:00
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
2017-08-09 01:58:29 +09:00
Junegunn Choi
999d374f0c
Fix invalid cache lookups
2017-08-08 13:23:33 +09:00
Junegunn Choi
ecb6b234cc
0.16.11
2017-08-02 02:50:28 +09:00
Junegunn Choi
39dbc8acdb
Exit 2 instead of panic when failed to open /dev/tty
2017-08-02 02:50:26 +09:00
Junegunn Choi
a56489bc7f
Remove non-exclusive access to ChunkList field
2017-08-02 00:09:00 +09:00
Junegunn Choi
99927c7071
Modify loop conditions in checkAscii function
2017-08-01 22:04:42 +09:00
Junegunn Choi
37370f057f
Do not use defer in performance-sensitive contexts
2017-08-01 03:44:55 +09:00
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.
2017-08-01 03:44:38 +09:00
Junegunn Choi
8db3345c2f
Optimize exact match by applying the same trick for fuzzy match
2017-07-30 18:16:54 +09:00
Junegunn Choi
69aa2fea68
Optimize fuzzy search performance for ASCII strings
2017-07-30 17:31:50 +09:00
Junegunn Choi
4c5a679066
Make deselect-all instantaneous
2017-07-28 13:13:03 +09:00
Junegunn Choi
a0a3c349c9
Update preview window when selection has changed
...
Close #995
2017-07-28 01:39:25 +09:00
Junegunn Choi
6dbc108da2
0.16.10
2017-07-21 18:41:11 +09:00
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.
2017-07-21 17:31:11 +09:00
Junegunn Choi
06301c7847
Fix regression: ANSI color in preview window not cleared
2017-07-21 16:44:59 +09:00
Junegunn Choi
18a1aeaa91
0.16.9
2017-07-21 00:08:55 +09:00
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.
2017-07-20 02:44:30 +09:00
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
2017-07-19 22:47:15 +09:00
Junegunn Choi
28810c178f
Optimize ANSI code scanner
...
This change gives 5x speed improvement
2017-07-19 21:49:41 +09:00
Junegunn Choi
a9e64efe45
Fix regression: output printed on alternate screen
2017-07-19 13:17:06 +09:00
Junegunn Choi
6b5886c034
Adjust --no-clear option for repetitive relaunching
...
Related: https://gist.github.com/junegunn/4963bab6ace453f7f529d2d0e01b1d85
Close #974
2017-07-18 21:10:49 +09:00
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.
2017-07-18 03:14:33 +09:00
Junegunn Choi
5e72709613
Speed up initial scanning with bitwise AND operation
2017-07-18 02:17:05 +09:00
Junegunn Choi
9e85cba0d0
Reduce memory footprint of Item struct
2017-07-16 23:34:32 +09:00
Junegunn Choi
8dbdd55730
Refactor cache lookup
...
- Remove multiple mutex locks in partial cache lookup
- Simplify return values
2017-07-16 23:34:32 +09:00
Junegunn Choi
6725151a99
Remove unnecessary copy of Chunk slice
2017-07-16 23:34:32 +09:00
Junegunn Choi
d4f3d5a164
Remove pointer indirection by changing Chunk definition
2017-07-16 23:34:32 +09:00
Junegunn Choi
b13fcfd831
Add missing --no-expect flag
2017-07-04 23:02:15 +09:00
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
2017-07-01 01:13:15 +09:00
Junegunn Choi
0c66521b23
Fix handling of bracketed paste mode
...
fzf should immediately continue consuming the buffer after discarding
bracketed paste mode sequence.
Close #951
2017-06-22 02:35:57 +09:00
Junegunn Choi
b49f22cdf9
0.16.8
2017-06-05 23:21:50 +09:00
Junegunn Choi
bf0cb4bfe2
Use find as the default command on Cygwin environment
2017-06-04 16:23:47 +09:00
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
2017-06-03 19:47:53 +09:00
Junegunn Choi
83e9af6601
Add git revision to --version output
2017-06-02 17:59:12 +09:00
Junegunn Choi
8bbf9335e1
Restructuring: main package in project root
2017-06-02 17:59:01 +09:00
Junegunn Choi
159f30b37f
Merge branch 'glide' of https://github.com/hinshun/fzf into hinshun-glide
2017-06-02 13:35:40 +09:00
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
2017-06-02 13:25:35 +09:00
Edgar Lee
7d3575b362
Use glide to handle go dependencies
2017-06-01 17:08:47 -07:00
Junegunn Choi
5d6eb5bfd6
Respect ANSI color state from the previous line in preview output
2017-05-28 02:26:42 +09:00
Junegunn Choi
cf4711d878
Fix display of tab characters in --prompt
2017-05-26 19:02:49 +09:00
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>
2017-05-25 01:36:59 +09:00
Junegunn Choi
f5746002fd
Do not "--cycle" on page-up/page-down
...
Close #928
2017-05-24 02:43:39 +09:00
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
2017-05-22 17:07:05 +09:00
Junegunn Choi
2d61691bb2
0.16.7
2017-04-30 11:54:40 +09:00
Junegunn Choi
eba9e04e2e
Export FZF_PREVIEW_HEIGHT instead of FZF_HEIGHT
...
https://github.com/junegunn/fzf.vim/issues/361
2017-04-30 11:36:23 +09:00
Junegunn Choi
7f17a9d1b4
Update mattn/go-shellwords
2017-04-30 00:47:44 +09:00
Junegunn Choi
d34e4cf698
Support CTRL-Z (SIGSTOP)
2017-04-28 22:58:08 +09:00
Junegunn Choi
6b592137b9
Add support for ctrl-alt-[a-z] key chords
...
Close #906
2017-04-28 02:36:36 +09:00
Junegunn Choi
9078197446
Add --version to --help output and man page
...
Close #888
Close #894
2017-04-02 11:30:22 +09:00
Junegunn Choi
e03e91477b
0.16.6
2017-03-05 03:05:06 +09:00
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
2017-03-04 14:09:36 +09:00
Junegunn Choi
53348feb89
Add --no-clear option
2017-03-04 11:29:31 +09:00
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.
2017-03-03 02:26:30 +09:00
Junegunn Choi
972fb1a29d
Suppress ANSI colors in preview window if --no-color is set
2017-03-02 12:49:51 +09:00
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
2017-03-01 16:00:08 +09:00
Junegunn Choi
0b940e4b2b
Redraw item if query string has changed
2017-02-24 02:30:11 +09:00
Junegunn Choi
e87a85a179
0.16.5
2017-02-19 01:40:25 +09:00
Junegunn Choi
11407bf656
Exclude sysfs in find commands
2017-02-19 01:33:13 +09:00
Junegunn Choi
c82fb3c9b9
Add toggle-preview-wrap action
2017-02-18 23:49:00 +09:00
Junegunn Choi
309e1d8619
Properly truncate long query string
2017-02-18 23:17:29 +09:00
Junegunn Choi
3d74d277aa
Use cut instead of sed in the default command
2017-02-17 13:07:45 +09:00
Junegunn Choi
21da02fac2
Fix indentation
2017-02-14 22:30:09 +09:00
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
2017-02-14 22:28:04 +09:00
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.
2017-02-06 21:15:29 +09:00
Junegunn Choi
ee5aeb80a4
0.16.4
2017-02-05 16:17:54 +09:00
Junegunn Choi
4b700192c1
Add --border option to draw horizontal lines above and below the finder
...
Goes well with --height
2017-02-04 21:51:22 +09:00
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.
2017-02-02 13:46:46 +09:00
Junegunn Choi
c95bb109c8
Suppress CSI codes in the output
2017-02-02 13:14:27 +09:00
Junegunn Choi
bd9c46ee34
Update ANSI processor to strip ^H along with its preceding character
2017-02-02 13:00:41 +09:00
Junegunn Choi
736aeaa1d3
Update go-runewidth
...
https://github.com/junegunn/go-runewidth/pull/1
/cc @joshuarubin
2017-02-02 10:08:56 +09:00
Junegunn Choi
dd1f26522c
Fix caching scheme when --exact is set and '-prefix is used
2017-02-01 02:06:56 +09:00
Junegunn Choi
d85a69a709
0.16.3
2017-01-30 01:53:17 +09:00
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
2017-01-30 01:08:07 +09:00
Junegunn Choi
36dceecd58
Add support for ctrl-space key
...
Close #825
2017-01-28 02:54:47 +09:00
Junegunn Choi
421b9b271a
Add execute-silent action
...
Close #823
2017-01-27 18:56:41 +09:00
Junegunn Choi
ed57dcb924
Extend placeholder expression for multiple selections
...
Close #788
2017-01-27 16:38:42 +09:00
Junegunn Choi
da2c28d5c2
Add --read0 and --print0 to --help output
...
Close #822
2017-01-26 11:41:20 +09:00
Junegunn Choi
8731d75607
Recalculate the width of trimmed line
...
Close #821
2017-01-25 02:39:49 +09:00
Junegunn Choi
f2ce233a6d
0.16.2
2017-01-24 00:37:47 +09:00
Junegunn Choi
6a75e30941
Allow invisible preview window (--preview-window 0)
...
Close #820
2017-01-24 00:23:16 +09:00
Junegunn Choi
a3244c4892
Delete every line below the cursor
2017-01-23 22:07:18 +09:00
Junegunn Choi
a5ad8fd3bd
Minor refactoring
2017-01-23 12:55:13 +09:00
Junegunn Choi
deccdb1ec5
Cursor postition response can be preceded by user key strokes
2017-01-23 12:55:11 +09:00
Junegunn Choi
12a43b5e62
Disable mouse if failed to query cursor position
2017-01-23 12:55:04 +09:00
Junegunn Choi
e1291aa6d2
Fix make deps to see the right git dir
2017-01-23 12:10:43 +09:00
Junegunn Choi
bb26f32ac7
Allow build on OpenBSD/FreeBSD/Android
...
Close #497
2017-01-22 18:51:04 +09:00
Junegunn Choi
4d928001b8
Update release script to upload assets in parallel
2017-01-22 18:33:30 +09:00
Junegunn Choi
71dec3dc5e
Fix bug where screen is not properly cleared on toggle-preview
2017-01-22 17:43:27 +09:00
Junegunn Choi
ff248d566d
Drop ncurses dependency
...
Close #818
2017-01-22 14:13:37 +09:00
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
2017-01-22 05:26:38 +09:00
Junegunn Choi
2a669e9a17
Clear lines even when background color is not set
...
Also revert the workaround in Vim plugin introduced in fa7c897
.
Related: #814
2017-01-22 03:19:50 +09:00
Junegunn Choi
24fa183297
make deps
2017-01-22 02:54:19 +09:00
Junegunn Choi
131aa5dd15
Composable actions in --bind
...
Close #816
2017-01-22 02:32:49 +09:00
Junegunn Choi
62ab8ece5e
0.16.1
2017-01-16 12:27:40 +09:00
Junegunn Choi
8e2e63f9b9
Propertly fill window with background color
...
Close #805
2017-01-16 12:27:32 +09:00
Junegunn Choi
f96173cbe4
Add -L flag to the default find command
...
Close #781
2017-01-16 12:01:58 +09:00
Amos Bird
11015df52f
Add half-page-{up,down} actions ( #784 )
2017-01-16 11:58:13 +09:00
Junegunn Choi
4bece04207
0.16.0
2017-01-16 02:39:37 +09:00
Junegunn Choi
ede7bfb901
Optimize LightRenderer for slow terminals
2017-01-16 02:26:36 +09:00
Junegunn Choi
e0036b5ad2
Add --filepath-word option
...
Close #802
2017-01-15 19:42:28 +09:00
Junegunn Choi
4ecb7f3a16
Replace --normalize with --literal and enable normalization by default
...
Ref #790
2017-01-15 13:22:09 +09:00
Junegunn Choi
03f5ef08c8
Use crypto/ssh/terminal instead of external stty command
2017-01-15 13:10:59 +09:00
Junegunn Choi
d64828ce6d
Print error message to stderr on unexpected exit
2017-01-11 23:01:56 +09:00
Junegunn Choi
2aa739be81
Fix bug where occurrence of the pattern in header lines are highlighted
2017-01-11 22:47:26 +09:00
Junegunn Choi
9977a3e9fc
Make preview renderer suspend early on line wrap
2017-01-11 22:13:40 +09:00
Junegunn Choi
f8082bc53a
No need to use /bin/sh to execute stty and tput
2017-01-11 21:48:36 +09:00
Junegunn Choi
996dcb14a3
Make fzf immediately quit when failed to read /dev/tty
...
Close #798
2017-01-11 02:12:32 +09:00
Junegunn Choi
0c127cfdc1
No need to query row position of the cursor if mouse is disabled
2017-01-10 22:55:55 +09:00
Junegunn Choi
ae274158de
Add experimental support for 24-bit colors
2017-01-10 02:16:12 +09:00
Junegunn Choi
340af463cd
Add --min-height option for percent --height
2017-01-10 01:04:36 +09:00
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.
2017-01-09 19:09:30 +09:00
Junegunn Choi
6c6c0a4778
Make util.RuneWidth return 1 for non-displayable characters
...
Fix line wrapping in preview window
2017-01-09 10:49:05 +09:00
Junegunn Choi
a16d8f66a9
Normalize pattern string before passing it to Algo function
2017-01-09 09:52:17 +09:00
Junegunn Choi
45793d75c2
Add --normalize option to normalize latin script characters
...
Close #790
2017-01-09 03:12:23 +09:00
Junegunn Choi
9d545f9578
Fix update of multi-select pointer
2017-01-08 02:29:31 +09:00
Junegunn Choi
a30999a785
Prepare for 0.16.0 release
2017-01-08 02:09:56 +09:00
Junegunn Choi
1448d631a7
Add --height option
2017-01-08 02:09:56 +09:00
Junegunn Choi
7b0d9e1e07
Apply --tabstop to preview window
2016-12-27 01:35:09 +09:00
Junegunn Choi
16b5902aa2
Fix Linux build ( #756 )
2016-12-05 02:27:38 +09:00
Junegunn Choi
a442fe0fd0
Truncate long lines in preview window
...
Add `:wrap` to --preview-window to wrap lines instead
Close #756
2016-12-05 02:13:59 +09:00
Junegunn Choi
67026718c1
Add BUILD.md
2016-11-27 15:16:53 +09:00
Junegunn Choi
a71c471405
0.15.9
2016-11-26 12:36:24 +09:00
Junegunn Choi
3858086047
Always print scroll indicator in preview window
2016-11-26 12:34:16 +09:00
Junegunn Choi
dffef3d9f3
Update build instructions for ncurses 6 and tcell
...
Close #357
Close #738
2016-11-26 11:41:57 +09:00
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
2016-11-26 00:36:38 +09:00
Junegunn Choi
6f17f412ba
Workaround for rendering glitch in case of short-lived input process
...
: | fzf --preview 'echo foo'
2016-11-25 14:05:37 +09:00
Junegunn Choi
746961bf43
[ncurses6] Suppress tui.Italic on ncurses 5
2016-11-24 13:42:14 +09:00
Junegunn Choi
182a6d99fd
[ncurses6] Support italics
2016-11-24 00:13:10 +09:00
Junegunn Choi
af31088481
[ncurses6] Use wcolor_set to support more than 256 color pairs
...
To build fzf with ncurses 6 on macOS:
brew install homebrew/dupes/ncurses
LDFLAGS="-L/usr/local/opt/ncurses/lib" make install
2016-11-24 00:12:43 +09:00
Junegunn Choi
43425158f4
Make escape delay configurable via ncurses standard $ESCDELAY
...
Also reduce the default delay to 50ms. We should not set it to 0ms as it
breaks escape sequences on WSL. If 50ms is not enough, one can increase
the delay by setting $ESCDELAY to a larger value.
2016-11-23 02:28:03 +09:00
Junegunn Choi
8524ea7441
Do not ignore resize event from ncurses and tcell
2016-11-23 01:58:46 +09:00
Junegunn Choi
6a65006f55
0.15.8
2016-11-19 23:13:26 +09:00
Junegunn Choi
d75ed841a9
Fix --no-bold on --no-color
2016-11-19 23:12:28 +09:00
Junegunn Choi
3cd2547e91
Reduce ESC delay to 100ms
2016-11-19 23:03:27 +09:00
Junegunn Choi
8c661d4e8c
Revamp escape sequence processing for WSL
...
Also add support for alt-[0-9] and f1[12]
2016-11-19 22:42:15 +09:00
Junegunn Choi
4b332d831e
Add --no-bold option
2016-11-15 23:57:32 +09:00
Junegunn Choi
dc557c0d4c
Update ANSI processor to handle more VT-100 escape sequences
...
The updated regular expression should include not all but most of the
frequently used ANSI sequences. Close #735 .
2016-11-14 02:15:23 +09:00
Junegunn Choi
a2beb159f1
0.15.7
2016-11-09 12:41:46 +09:00
Junegunn Choi
7ce427ff47
Fix panic when color is disabled and header lines contain ANSI colors
...
Close #732
2016-11-09 12:05:45 +09:00
Junegunn Choi
a221c672fb
0.15.6
2016-11-09 01:45:27 +09:00
Junegunn Choi
f87d382ec8
Fix --color=bw on tcell build
2016-11-09 01:45:06 +09:00
Junegunn Choi
2192d8d816
GOOS=windows make release
2016-11-08 03:32:41 +09:00
Junegunn Choi
d206949f62
Wait for additional keys after ESC for up to 100ms
...
Close #661
2016-11-08 03:07:26 +09:00
Junegunn Choi
898d8d94c8
Fix issues in tcell renderer and Windows build
...
- Fix display of CJK wide characters
- Fix horizontal offset of header lines
- Add support for keys with ALT modifier, shift-tab, page-up and down
- Fix util.ExecCommand to properly parse command-line arguments
- Fix redraw on resize
- Implement Pause/Resume for execute action
- Remove runtime check of GOOS
- Change exit status to 2 when tcell failed to start
- TBD: Travis CI build for tcell renderer
- Pending. tcell cannot reliably ingest keys from tmux send-keys
2016-11-08 02:06:34 +09:00
Michael Kelley
26895da969
Implement tcell-based renderer
2016-11-07 02:32:14 +09:00
Junegunn Choi
0c573b3dff
Prepare for termbox/windows build
...
`TAGS=termbox make` (or `go build -tags termbox`)
2016-11-07 02:32:14 +09:00
Junegunn Choi
06a6ad8bca
Update ANSI processor to ignore ^N and ^O
...
This reverts commit 02c6ad0e59
.
2016-10-30 12:29:29 +09:00
Junegunn Choi
02c6ad0e59
Strip ^N and ^O from preview output
...
https://github.com/junegunn/fzf/issues/391#issuecomment-257090266
e.g. fzf --preview 'printf "$(tput setaf 2)foo$(tput sgr0)bar\nbar\n"'
2016-10-30 11:43:06 +09:00
Junegunn Choi
9f321cbe13
Fix header lines being cleared on toggle-preview
...
Close #722
2016-10-28 03:13:50 +09:00
Junegunn Choi
9f30ca2923
0.15.5
2016-10-23 22:00:32 +09:00
Junegunn Choi
0a8d2996dc
Set foreground color without affecting background
...
Close #712
2016-10-21 19:35:59 +09:00
Junegunn Choi
cfdb00b971
Allow other options to follow --color without spec
2016-10-21 19:20:16 +09:00
Junegunn Choi
0541c0dbcf
Use relative position instead of absolute distance for --tiebreak=end
...
Fix unintuitive result where `*fzf*/install` is ranked higher than
`fzf/src/fzf/*fzf*-linux_386` on --tiebreak=end.
2016-10-18 01:13:57 +09:00
Junegunn Choi
3222d62ddf
0.15.4
2016-10-04 02:17:36 +09:00
Junegunn Choi
aeb957a285
Use exact match by default for inverse search term
...
This is a breaking change, but I believe it makes much more sense. It is
almost impossible to predict which entries will be filtered out due to
a fuzzy inverse term. You can still perform inverse-fuzzy-match by
prepending `!'` to the term.
| Token | Match type | Description |
| -------- | -------------------------- | --------------------------------- |
| `sbtrkt` | fuzzy-match | Items that match `sbtrkt` |
| `^music` | prefix-exact-match | Items that start with `music` |
| `.mp3$` | suffix-exact-match | Items that end with `.mp3` |
| `'wild` | exact-match (quoted) | Items that include `wild` |
| `!fire` | inverse-exact-match | Items that do not include `fire` |
| `!.mp3$` | inverse-suffix-exact-match | Items that do not end with `.mp3` |
2016-10-04 02:09:03 +09:00
Junegunn Choi
154cf22ffa
Display scroll indicator in preview window
2016-10-04 01:40:45 +09:00
Junegunn Choi
51f532697e
Adjust maximum scroll offset
...
It was possible that a few lines at the bottom may not be visible if
there are lines above that span multiple lines.
2016-10-04 01:39:48 +09:00
Junegunn Choi
3066b206af
Support field index expressions in preview and execute action
...
Also close #679 . The placeholder for the current query is {q}.
2016-10-03 14:33:28 +09:00
Junegunn Choi
04492bab10
Use unicode.IsSpace to cover more whitespace characters
2016-09-29 22:40:22 +09:00
Junegunn Choi
8b0d0342d4
0.15.3
2016-09-29 03:05:20 +09:00
Junegunn Choi
957c12e7d7
Fix SEGV when trying to render preview but the window is closed
...
Close #677
2016-09-29 02:53:05 +09:00
Junegunn Choi
3b5ae0f8a2
Fix failing unit tests on ANSI attributes
2016-09-29 01:06:47 +09:00
Junegunn Choi
1fc5659842
Add support for more ANSI color attributes ( #674 )
...
Dim, underline, blink, reverse
2016-09-29 00:54:27 +09:00
Junegunn Choi
1bc223d4b3
0.15.2
2016-09-25 22:20:43 +09:00
Junegunn Choi
bef405bfa5
Ignore VT100-related escape codes
2016-09-25 19:03:08 +09:00
Junegunn Choi
0612074abe
Support high intensity colors
...
Close #671
2016-09-25 18:11:35 +09:00
Junegunn Choi
8c8b5b313e
Add preview-page-up and preview-page-down actions
2016-09-25 04:12:44 +09:00
Junegunn Choi
66d55fd893
Make preview windows scrollable
...
Close #669
You can use your mouse or binadble preview-up and preview-down actions
to scroll the content of the preview window.
fzf --preview 'highlight -O ansi {}' --bind alt-j:preview-down,alt-k:preview-up
2016-09-25 02:02:00 +09:00
Junegunn Choi
7fa5e6c861
0.15.1
2016-09-21 01:28:24 +09:00
Junegunn Choi
00f96aae76
Avoid rendering delay when displaying extremely long lines
...
Related #666
2016-09-21 01:23:41 +09:00
Junegunn Choi
a749e6bd16
Fix temp directory in a test case
2016-09-21 01:15:35 +09:00
Junegunn Choi
791076d366
Fix panic when pattern occurs after 2^15-th column
...
Fix #666
2016-09-21 01:15:06 +09:00
Junegunn Choi
37f43fbb35
Add --print0 option
...
Related: #660
2016-09-19 01:15:38 +09:00
Junegunn Choi
401a5fd5ff
Printable character in --expect set should not affect --print-query
2016-09-18 14:34:50 +09:00
Junegunn Choi
1854922f0c
Truncate the query string if it's too long
...
Use hard-coded limit to keep it simple. An alternative is to dynamically
calculate the width of the visible area and use it as the limit, but it
can cause unwanted truncation of the query on screen resize/split.
2016-09-18 14:34:48 +09:00
Junegunn Choi
2fc7c18747
Revise ranking algorithm
2016-09-18 14:34:46 +09:00
Junegunn Choi
8ef2420677
Update README
2016-09-13 04:12:03 +09:00
ishanray
f44d40f6b4
Update algo.go
2016-09-10 23:40:55 +04:00
Junegunn Choi
b86838c2b0
0.13.5
2016-08-21 05:02:45 +09:00
Junegunn Choi
1f7d1f9b15
Update Centos Dockerfile to use Go 1.7
2016-08-21 04:54:53 +09:00
Junegunn Choi
f8fdf9618a
No need to cache the result in filtering mode (--filter)
2016-08-20 02:06:57 +09:00
Junegunn Choi
827a83efbc
Remove Offset slice from Result struct
2016-08-20 01:53:32 +09:00
Junegunn Choi
608c416207
Add missing sources
2016-08-19 03:27:42 +09:00
Junegunn Choi
37dc273148
Micro-optimizations
...
- Make structs smaller
- Introduce Result struct and use it to represent matched items instead of
reusing Item struct for that purpose
- Avoid unnecessary memory allocation
- Avoid growing slice from the initial capacity
- Code cleanup
2016-08-19 02:39:32 +09:00
Junegunn Choi
f7f01d109e
Set the upper limit of the number of search go routines
2016-08-19 01:55:38 +09:00
Junegunn Choi
01ee335521
Remove duplicate code
2016-08-18 03:11:54 +09:00
Junegunn Choi
0e0de29b87
Inline function calls in tight loops
...
By only using leaf functions
2016-08-18 01:48:52 +09:00
Junegunn Choi
babf877fd6
Increase the number of go routines for search
...
Sort performance increases as the size of each sublist decreases (n in
nlog(n) decreases). Merger is then responsible for merging the sorted
lists in order, and since in most cases we are only interesed in the
matches in the first page on the screen so the overhead in the process
is negligible.
2016-08-18 01:46:05 +09:00
Junegunn Choi
935272824e
Setting GOMAXPROCS is no longer needed
...
https://golang.org/doc/go1.5
2016-08-17 02:21:33 +09:00
Junegunn Choi
3a9532c8fd
Increase read buffer size to 64KB
2016-08-16 02:06:15 +09:00
Junegunn Choi
c4c92142a6
0.13.4
2016-08-14 18:10:21 +09:00
Junegunn Choi
d4b6338102
Lint
2016-08-14 17:51:34 +09:00
Junegunn Choi
8df7d962e6
Improve rendering time of long lines
2016-08-14 17:44:11 +09:00
Junegunn Choi
41e916a511
[perf] evaluateBonus can start from sidx - 1
2016-08-14 11:58:47 +09:00
Junegunn Choi
d9c8a9a880
[perf] Remove memory copy when using string delimiter
2016-08-14 04:30:55 +09:00
Junegunn Choi
ddc7bb9064
[perf] Optimize AWK-style tokenizer for --nth
...
Approx. 50% less memory footprint and 40% improvement in query time
2016-08-14 02:19:29 +09:00
Junegunn Choi
1d4057c209
[perf] Avoid allocating rune array for ascii string
...
In the best case (all ascii), this reduces the memory footprint by 60%
and the response time by 15% to 20%. In the worst case (every line has
non-ascii characters), 3 to 4% overhead is observed.
2016-08-14 00:41:30 +09:00
Junegunn Choi
1e74dbb937
:hidden property of previous --preview-window should be cleared
...
Fix #636 . Patch suggested by @edi9999.
2016-08-12 01:16:59 +09:00
Junegunn Choi
fccc93176b
0.13.3
2016-07-16 01:06:53 +09:00
Junegunn Choi
a9a29dff4f
Fix duplicate rendering of the last line in preview window
2016-07-15 23:24:14 +09:00
Junegunn Choi
5759d50d4a
0.13.2
2016-06-16 02:16:13 +09:00
Junegunn Choi
e455836cc9
Fix race condition where preview window is not properly cleared
2016-06-15 13:15:17 +09:00
Junegunn Choi
8a90f26c8a
0.13.1
2016-06-14 21:53:00 +09:00
Junegunn Choi
24e1fabf2e
Do not process ANSI codes in --preview output at once
...
Close #598
2016-06-14 21:52:47 +09:00
Junegunn Choi
3e1d6a7bcf
0.13.0
2016-06-12 02:15:11 +09:00
Junegunn Choi
2bbc12063c
Add --preview and --preview-window
...
Close #587
2016-06-11 19:59:12 +09:00
Junegunn Choi
b8737b724b
Ignore controls chars for bracketed paste mode
...
Close #594
2016-06-11 12:14:34 +09:00
Junegunn Choi
56fb2f00b3
Use single-quoted strings in execute action
...
Close #590
2016-06-08 00:54:21 +09:00
Junegunn Choi
2f364c62f4
0.12.2
2016-05-19 01:55:54 +09:00
Junegunn Choi
7ed9f83662
Validate jump label characters
...
Also extend default jump labels
2016-05-19 01:46:22 +09:00
Junegunn Choi
f498a9b3fb
Revert version number
2016-05-18 22:47:57 +09:00
Junegunn Choi
13330738b8
Do not match jump labels beyond the screen limit
2016-05-18 22:45:34 +09:00
Junegunn Choi
e53535cc61
Update default jump labels
2016-05-18 22:44:31 +09:00
Junegunn Choi
c62fc5e75c
More named keys: F5 ~ F10, ALT-/
2016-05-18 22:25:09 +09:00
Junegunn Choi
70245ad98c
[make] Reduce the size of the binaries with -ldflags -w
...
Related: #555
2016-05-18 13:29:27 +09:00
Junegunn Choi
6d235bceee
Add jump and jump-accept actions for --bind
...
jump and jump-accept implement EasyMotion-like movement in fzf.
Suggested by @mhrebenyuk. Close #569 .
2016-05-18 02:10:03 +09:00
Junegunn Choi
9078688baf
Add print-query action for --bind
...
Close #571
2016-05-13 00:51:15 +09:00
Junegunn Choi
dd4be1da38
Allow alt-enter and alt-space for --bind ( #571 )
2016-05-13 00:43:50 +09:00
Junegunn Choi
88a80e3c2c
Determine 256-color capability using tigetnum("colors")
...
Close #570
2016-05-11 01:07:06 +09:00
Junegunn Choi
7f64fba80f
Update Makefile to allow build on i686 ( #555 )
2016-04-26 01:49:02 +09:00
Gene Pavlovsky
d1b402a23c
Fix missing reference to UNAME_M
...
The `Build on $(UNAME_M) is not supported, yet` message was referencing an undefined UNAME_M. Fixed that.
2016-04-24 21:24:10 +03:00
Junegunn Choi
35a9aff8e1
0.12.1
2016-04-25 01:23:52 +09:00
Junegunn Choi
85ef3263fc
Fix incorrect cache reference in --exact mode ( #547 )
...
When we prepend a single quote to our query in --exact mode, we are not
supposed to limit the scope of the new search to the previous
exact-match result.
2016-04-24 03:43:24 +09:00
Junegunn Choi
4bde8de63f
Apply new ranking algorithm to exact match as well
2016-04-23 19:48:06 +09:00
Junegunn Choi
879ead210f
0.11.2
2016-04-16 14:37:16 +09:00
Junegunn Choi
2f6d23b91e
Enhanced ranking algorithm
...
Based on the patch by Matt Westcott (@mjwestcott).
But with a more conservative approach:
- Does not use linearly increasing penalties; It is agreed upon that we
should prefer matching characters at the beginnings of the words, but
it's not always clear that the relevance is inversely proportional to
the distance from the beginning.
- The approach here is more conservative in that the bonus is never
large enough to override the matchlen, so it can be thought of as the
first implicit tiebreak criterion.
- One may argue the change breaks the contract of --tiebreak, but the
judgement depends on the definition of "tie".
2016-04-16 14:33:38 +09:00
Junegunn Choi
74d1694be9
Fix #541 - Print double-click when --expect=double-click is set
2016-04-14 04:18:59 +09:00
Matt Westcott
2ca704405a
Fix algorithm tests
2016-04-01 00:06:09 +01:00
Junegunn Choi
6ea760a336
Make 32-bit linux binary (partially) static ( #523 )
2016-03-15 20:17:29 +09:00
Junegunn Choi
b47ab633e2
0.11.4
2016-03-03 01:57:28 +09:00
Junegunn Choi
2ccdf21a1f
Add --hscroll-off=COL option
...
Close #513
2016-03-02 03:14:35 +09:00
Junegunn Choi
1b9ca314b8
Update build script
...
- GOPATH is no longer required
- fzf repository does not have to be in GOPATH
- Build Linux binary with Go 1.5.3
2016-02-20 21:16:24 +09:00
Junegunn Choi
e72a360337
Minor refactoring
...
- Slightly more efficient processing of Options
- Do not return reference type arguments that are mutated inside the
function
- Use util.Constrain function when appropriate
2016-02-18 01:46:18 +09:00
Sergey Vlasov
e3401a0645
Go 1.3 compatibility
2016-02-16 11:28:40 +02:00
Junegunn Choi
40d934e378
0.11.3
2016-02-07 11:00:10 +09:00
Junegunn Choi
e95d82748f
Use $SHELL to start $FZF_DEFAULT_COMMAND ( #481 )
2016-02-07 01:49:29 +09:00
Junegunn Choi
30bd0b53db
Fix #481 - Use $SHELL instead of sh in execute action
...
Note that $SHELL only points to the default shell instead of the current
shell. If you're on a non-default shell, you might want to override the
value like follows.
SHELL=zsh fzf --bind 'enter:execute:echo $ZSH_VERSION; sleep 1'
2016-02-03 04:46:02 +09:00
Junegunn Choi
1893eca41a
Handle SIGTERM gracefully ( #482 )
2016-02-02 17:51:21 +09:00
Junegunn Choi
8695b5e319
Reduce the initial delay when --tac is not given
...
fzf defers the initial rendering of the screen up to 100ms if the input
stream is ongoing to prevent unnecessary redraw during the initial
phase. However, 100ms delay is quite noticeable and might give the
impression that fzf is not snappy enough. This commit reduces the
maximum delay down to 20ms when --tac is not specified, in which case
the input list quickly fills the entire screen.
2016-01-16 18:07:50 +09:00
Junegunn Choi
95970164ad
0.11.2
2016-01-14 02:54:08 +09:00
Junegunn Choi
f6c6e59a50
Add toggle-in and toggle-out for --bind
...
Related: #452
When `--multi` is set, tab key will bring your cursor down, and
shift-tab up. But since fzf by default draws the screen in bottom-up
fashion, one may feel that the opposite of the behavior is more
desirable and choose to customize the key bindings as follows.
export FZF_DEFAULT_OPTS="--bind tab:toggle-up,shift-tab:toggle-down"
This configuration, however, becomes no longer straightforward when
`--reverse` is set and fzf switches to top-down layout. To address the
requirement, this commit adds `toggle-in` and `toggle-out` option which
switch direction depending on `--reverse`-ness.
export FZF_DEFAULT_OPTS="--bind tab:toggle-out,shift-tab:toggle-in"
2016-01-14 02:35:43 +09:00
Junegunn Choi
45143f9541
Ignore leading whitespaces when calculating 'begin' index
2016-01-14 01:32:03 +09:00
Junegunn Choi
8d3a302a17
Simplify Item structure
...
This commit compensates for the performance overhead from the
extended tiebreak option.
2016-01-14 01:12:49 +09:00
Junegunn Choi
1d2d32c847
Accept comma-separated list of sort criteria
2016-01-13 21:27:43 +09:00
Junegunn Choi
d635b3fd3c
Update license: 2016
2016-01-13 02:16:26 +09:00
Junegunn Choi
aa171b45cb
Fix ubuntu-android target of Makefile
2016-01-05 02:10:40 +09:00
Junegunn Choi
a1db64e7b1
Unset GO15VENDOREXPERIMENT in linux build env ( #430 )
2015-12-04 16:47:02 +09:00
Junegunn Choi
0b9c4e1e74
Remove submodules and disable GO15VENDOREXPERIMENT ( #430 )
...
Having submodules causes vim-plug or other vim plugin managers to clone
them with no real benefit to the end-users. There's currently no
compelling reason for me to use submodules.
2015-12-04 16:45:23 +09:00
Junegunn Choi
248320fa55
0.11.1
2015-12-01 00:39:45 +09:00
Junegunn Choi
d4e26707c7
GO15VENDOREXPERIMENT=1 ( #430 )
2015-11-30 18:41:53 +09:00
Junegunn Choi
99ea1056ac
Add --tabstop option
...
Related: https://github.com/junegunn/fzf.vim/issues/49
2015-11-30 17:35:03 +09:00
Junegunn Choi
e1df876b61
Merge pull request #380 from acornejo/android
...
Add android build: `make android`
2015-11-20 03:28:41 +09:00
Alex Cornejo
28ffb9638d
add android build
2015-11-18 23:20:51 -08:00
Junegunn Choi
1c20255504
Fix typos in help message
...
Close #425 . Thanks to @blueyed.
2015-11-19 09:58:07 +09:00
Junegunn Choi
df468fc482
0.11.0
2015-11-10 01:54:53 +09:00
Junegunn Choi
31278bcc68
Fix compatibility issues with OR operator and inverse terms
2015-11-10 01:54:37 +09:00
Junegunn Choi
e7e86b68f4
Add OR operator
...
Close #412
2015-11-09 23:58:53 +09:00
Junegunn Choi
a89d8995c3
Add execute-multi action
...
Close #413
2015-11-09 23:58:19 +09:00
Junegunn Choi
dbc854d5f4
Handle wide unicode characters in --prompt
2015-11-09 22:01:40 +09:00
Junegunn Choi
64afff6b9a
0.10.9
2015-11-03 23:03:49 +09:00
Junegunn Choi
6bddffbca4
Setup signal handlers before ncurses initialization
...
This prevents fzf from missing SIGWINCH during startup which
occasionally happens with fzf-tmux
2015-11-03 23:00:34 +09:00
Junegunn Choi
81a88693c1
Make --extended default
...
Close #400
2015-11-03 22:49:32 +09:00
Junegunn Choi
4d709e0dd2
Fix #391 - Strip non-printable characters
2015-10-23 01:12:31 +09:00
Junegunn Choi
ae04f56dbd
Fix --bind "double-click:execute(...)" ( #374 )
2015-10-13 02:36:11 +09:00
Junegunn Choi
f80ff8c917
Add bindable double-click event ( #374 )
2015-10-13 02:24:38 +09:00
Junegunn Choi
b4ce89bbf5
[build] Link libncursesw when building 64-bit linux binary
...
Close #376
2015-10-12 16:02:08 +09:00
Junegunn Choi
b3010a4624
0.10.8
2015-10-09 12:42:07 +09:00
Junegunn Choi
a4eb3323da
Fix #370 - Panic when trying to set colors when colors are disabled
2015-10-09 12:16:47 +09:00
Junegunn Choi
1da065e50e
0.10.7
2015-10-05 23:28:24 +09:00
Junegunn Choi
86bc9d506f
Fix invalid interrupt handler during execute action
...
Interrupt handling during execute action was not serialized and often
caused crash, failed to restore the terminal state.
2015-10-05 23:19:26 +09:00
Junegunn Choi
92a75c9563
Use trimmed length when --nth is used with --tiebreak=length
...
This change improves sort ordering for aligned tabular input.
Given the following input:
apple juice 100
apple pie 200
fzf --nth=2 will now prefer the one with pie. Before this change fzf
compared "juice " and "pie ", both of which have the same length.
2015-10-02 18:40:20 +09:00
Junegunn Choi
ad7e433a7d
Use build tags to enable static linking
2015-09-22 13:16:50 +09:00
Junegunn Choi
ebea470875
Build linux binary on Centos
2015-09-20 00:17:44 +09:00
Junegunn Choi
d980e00961
Revert "Revert "0.10.6""
...
This reverts commit 987799f8fb
.
2015-09-19 22:51:12 +09:00
Junegunn Choi
987799f8fb
Revert "0.10.6"
...
This reverts commit d2f3604c1d
.
2015-09-19 22:27:09 +09:00
Junegunn Choi
d2f3604c1d
0.10.6
2015-09-19 22:18:04 +09:00
Junegunn Choi
6bc3fe6e67
Build partially-static binary for linux ( #350 )
...
Instead of building a separate statically-linked binary, build
partially-static binary that only contains ncurses to avoid
compatibility issues in libc.
2015-09-19 18:33:25 +09:00
Junegunn Choi
ca19762e58
Exit status 130 when fzf is terminated by the user
...
Related: #345
2015-09-18 10:25:07 +09:00
Junegunn Choi
2022a3ad96
Replace --header-file with --header ( #346 )
...
and allow using --header and --header-lines at the same time.
Close #346 .
2015-09-15 19:04:53 +09:00
Junegunn Choi
65d9d416b4
Change exit status (0: OK, 1: No match, 2: Error/Interrupted)
...
A la grep. Close #345
2015-09-15 13:21:51 +09:00
Junegunn Choi
de829c0938
0.10.5
2015-09-12 12:50:32 +09:00
Junegunn Choi
64443221aa
Fix #344 - Backward scan when --tiebreak=end
2015-09-12 11:37:55 +09:00
Junegunn Choi
9017e29741
Make it possible to unquote the term in extended-exact mode
...
Close #338
2015-09-12 11:00:30 +09:00
Junegunn Choi
9a2d9ad947
0.10.4
2015-08-29 02:36:27 +09:00
Junegunn Choi
90b0cd44ac
Should not strip ANSI codes when --ansi is not set
2015-08-28 21:23:10 +09:00
Junegunn Choi
0d66ad23c6
Fix build script
2015-08-27 22:48:42 +09:00
Junegunn Choi
7f7741099b
make linux-static ( #322 )
2015-08-27 03:28:05 +09:00
Junegunn Choi
5a72dc6922
Fix #329 - Trim ANSI codes from output when --ansi & --with-nth are set
2015-08-26 23:58:18 +09:00
Junegunn Choi
8156e9894e
0.10.3
2015-08-12 02:09:46 +09:00
Junegunn Choi
d0f2c00f9f
Fix --with-nth performance; use simpler regular expression
...
Related #317
2015-08-11 00:15:41 +09:00
Junegunn Choi
766427de0c
Fix --with-nth performance; avoid regex if possible
...
Close #317
2015-08-10 18:34:20 +09:00
Junegunn Choi
c4cf90a3d2
0.10.2
2015-08-03 00:21:21 +09:00
Junegunn Choi
15c49a3e08
Fix race condition
2015-08-03 00:14:34 +09:00
Junegunn Choi
ae87f6548a
GoLint
2015-08-02 23:54:53 +09:00
Junegunn Choi
e13bafc1ab
Performance fix - unnecessary rune convertion on --ansi
...
> time cat /tmp/list | fzf-0.10.1-darwin_amd64 --ansi -fqwerty > /dev/null
real 0m4.364s
user 0m8.231s
sys 0m0.820s
> time cat /tmp/list | fzf --ansi -fqwerty > /dev/null
real 0m4.624s
user 0m5.755s
sys 0m0.732s
2015-08-02 14:25:57 +09:00
Junegunn Choi
0ea66329b8
Performance tuning - eager rune array conversion
...
> wc -l /tmp/list2
2594098 /tmp/list2
> time cat /tmp/list2 | fzf-0.10.1-darwin_amd64 -fqwerty > /dev/null
real 0m5.418s
user 0m10.990s
sys 0m1.302s
> time cat /tmp/list2 | fzf-head -fqwerty > /dev/null
real 0m4.862s
user 0m6.619s
sys 0m0.982s
2015-08-02 14:00:18 +09:00
Junegunn Choi
634670e3ea
Lint
2015-08-02 13:11:59 +09:00
Junegunn Choi
dea60b11bc
Only consider the lengths of the relevant parts when --nth is set
2015-08-01 23:13:24 +09:00
Junegunn Choi
5e90f0a57b
Fix default command so that it doesn't fail on dash-prefixed files
...
Close #310
2015-08-01 21:51:10 +09:00
Junegunn Choi
02bd2d2adf
Do not proceed if $TERM is invalid
...
Related #305
2015-07-28 14:35:46 +09:00
Junegunn Choi
909ea1a698
0.10.1
2015-07-27 00:09:07 +09:00
Junegunn Choi
7231acd442
Fix mouse scroll when --margin is set
2015-07-27 00:06:44 +09:00
Junegunn Choi
7814371a9a
Revert "0.10.1"
...
This reverts commit 6166e2dd80
.
2015-07-27 00:03:14 +09:00
Junegunn Choi
6166e2dd80
0.10.1
2015-07-26 23:57:26 +09:00
Junegunn Choi
ee0c8a2635
Add --margin option
...
Close #299
2015-07-26 23:02:04 +09:00
Junegunn Choi
2bebddefc0
Do not print the entire --help on invalid option
2015-07-26 13:39:34 +09:00
Junegunn Choi
fdbf3d3fec
Replace eof action with cancel ( #289 )
2015-07-23 21:05:33 +09:00
Junegunn Choi
13e040baee
Bind CTRL-D to the new delete-char/eof action
...
- CTRL-D - delete-char/eof
- DEL - delete-char
2015-07-23 00:56:03 +09:00
Junegunn Choi
cc0d5539ba
Add "eof" action which closes the finder only when input is empty
...
Close #289
2015-07-22 22:57:48 +09:00
Junegunn Choi
b53f61fc59
Remove cbreak before raw
2015-07-22 22:36:39 +09:00
Junegunn Choi
4e0e03403e
Fix --header-lines unaffected by --with-nth
2015-07-22 21:24:02 +09:00
Junegunn Choi
928fccc15b
Fix header not shown when the lines go beyond the screen limit
2015-07-22 21:22:59 +09:00
Junegunn Choi
5e3cb3a4ea
Fix ANSI processor to handle multi-line regions
2015-07-22 14:19:45 +09:00
Junegunn Choi
f71ea5f3ea
Add test cases for header and fix corner cases
2015-07-22 13:45:38 +09:00
Junegunn Choi
f469c25730
Add --header-lines option
2015-07-22 03:21:20 +09:00
Junegunn Choi
18469b6954
Adjust header color for dark color scheme
2015-07-22 03:07:27 +09:00
Junegunn Choi
d01db4862b
Update documentation
2015-07-22 01:12:50 +09:00
Junegunn Choi
8b2adba8d6
Redraw of header on resize
2015-07-22 00:47:14 +09:00
Junegunn Choi
d459e9abce
Add --header-file option
2015-07-22 00:38:38 +09:00
Junegunn Choi
c9abe1b1ff
Show more specific error message on invalid binding
2015-07-18 02:31:35 +09:00
Junegunn Choi
a0e6147bb5
Fix #292 - Allow binding of colon and comma
2015-07-16 21:14:08 +09:00
Junegunn Choi
a336494f5d
0.10.0
2015-06-21 17:40:36 +09:00
Junegunn Choi
8270f7f0ca
Rename --null to --read0 and undocument the option
...
`--null` is ambiguous. For completeness' sake, we need both `--read0`
and `--print0`.
`--read0` only makes sense when the input contains multiline entries.
However, fzf currently cannot correctly display multiline entries,
I'm going to make `--read0` an undocumented feature.
2015-06-21 17:29:58 +09:00
Junegunn Choi
c0d3faa84f
Hide --toggle-sort from --help output
...
Since the same can be now achieved with --bind KEY:toggle-sort
2015-06-19 01:06:56 +09:00
Junegunn Choi
3492c8b780
Rename --history-max to --history-size
...
Considering HISTSIZE and HISTFILESIZE of bash
2015-06-19 01:03:25 +09:00
Junegunn Choi
a8b2c257cd
Improve handling of key names
...
Remember the exact string given as the key name so that it's possible to
correctly handle synonyms and print the original string.
2015-06-19 00:31:48 +09:00
Junegunn Choi
5e8d8dab82
More key names for --bind
2015-06-18 02:27:50 +09:00
Junegunn Choi
d261c36cde
Keep the spinner spinning even when the source stream is idle
2015-06-18 00:42:38 +09:00
Junegunn Choi
fe4e452d68
Add --cycle option for cyclic scrolling
...
Close #266
2015-06-16 23:16:34 +09:00
Junegunn Choi
d54a4fa223
Add key name "bspace" for --bind (bspace != ctrl-h)
2015-06-16 02:18:49 +09:00
Junegunn Choi
45bd323cab
Allow binding CTRL-G and CTRL-Q
2015-06-16 02:17:06 +09:00
Junegunn Choi
8677dbded1
Change alternative notation for execute action ( #265 )
...
e.g. fzf --bind "ctrl-m:execute:COMMAND..." --bind ctrl-j:accept
2015-06-15 23:27:05 +09:00
Junegunn Choi
794ad5785d
Fix .
to match newlines as well ( #265 )
2015-06-15 23:11:22 +09:00
Junegunn Choi
fa5b58968e
Add alternative execute notation that does not require closing char
...
This can be used to avoid parse errors that can happen when the command
contains the closing character. Since the command does not finish at
a certain character, the key binding should be the last one in the
group. Suggested by @tiziano88. (#265 )
e.g. fzf --bind "ctrl-m:execute=COMMAND..." --bind ctrl-j:accept
2015-06-15 23:00:38 +09:00
Junegunn Choi
e720f56ea8
Fix test code for docker build
2015-06-15 22:45:31 +09:00
Junegunn Choi
7db53e6459
Add synonyms for some keys to be used with --bind and --toggle-sort
...
enter (return), space, tab, btab, esc, up, down, left, right
2015-06-15 01:26:18 +09:00
Junegunn Choi
022435a90a
More alternative notations for execute action
...
execute(...)
execute[...]
execute~...~
execute!...!
execute@...@
execute#...#
execute$...$
execute%...%
execute^...^
execute&...&
execute*...*
execute:...:
execute;...;
execute/.../
execute|...|
2015-06-14 23:36:49 +09:00
Junegunn Choi
6c99cc1700
Add bind action for executing arbitrary command ( #265 )
...
e.g. fzf --bind "ctrl-m:execute(less {})"
fzf --bind "ctrl-t:execute[tmux new-window -d 'vim {}']"
2015-06-14 12:25:08 +09:00
Junegunn Choi
fe5b190a7d
Remove unnecessary regexp matches
...
This change does have positive effect on startup time of fzf when many
number of options are provided.
time fzf --query=____ --filter=____ --delimiter=q --prompt=________ \
--nth=1,2,3,4 --with-nth=1,2,3,4 --toggle-sort=ctrl-r \
--expect=ctrl-x --tiebreak=index --color=light --bind=ctrl-t:accept \
--history=/tmp/xxx --history-max=1000 --help
0m0.013s -> 0m0.008s
2015-06-14 11:23:07 +09:00
Junegunn Choi
77bab51696
GoLint fix
2015-06-14 03:19:18 +09:00
Junegunn Choi
6ad1736832
Fix ignore action
2015-06-14 02:11:27 +09:00
Junegunn Choi
9fca611c4a
Add ignore
action for --bind
2015-06-14 01:54:56 +09:00
Junegunn Choi
8e7164553f
Add missing files from the previous commit
...
:(
2015-06-14 00:53:45 +09:00
Junegunn Choi
3b52811796
Add support for search history
...
- Add `--history` option (e.g. fzf --history ~/.fzf.history)
- Add `--history-max` option for limiting the size of the file (default 1000)
- Add `previous-history` and `next-history` actions for `--bind`
- CTRL-P and CTRL-N are automatically remapped to these actions when
`--history` is used
Closes #249 , #251
2015-06-14 00:48:48 +09:00
Junegunn Choi
eaa3c67a5e
Add actions for --bind: select-all / deselect-all / toggle-all
...
Close #257
2015-06-09 23:44:54 +09:00
Junegunn Choi
1b9b1d15bc
Adjust --help output
2015-06-08 23:28:41 +09:00
Junegunn Choi
81ffde92fb
Merge branch '121-accept-nil-input' of https://github.com/dullgiulio/fzf into dullgiulio-121-accept-nil-input
2015-06-08 23:21:16 +09:00
Junegunn Choi
0be4cead20
Allow ^EqualMatch$
2015-06-08 23:17:24 +09:00
Giulio Iotti
f6dd32046e
add support to nil-byte separated input strings, closes #121
2015-06-08 08:38:40 +00:00
Junegunn Choi
443a80f254
Always use the same color for multi-select markers
2015-06-07 23:32:07 +09:00
Dominik Honnef
98f62b191a
Use ncurses's newterm instead of swapping stdout and stderr
2015-06-07 07:26:26 +02:00
Junegunn Choi
52771a6226
0.9.13
2015-06-03 02:09:07 +09:00
Junegunn Choi
b00bcf506e
Fix #248 - Premature termination of Reader on long input
2015-06-03 01:48:02 +09:00
Junegunn Choi
fdbfe36c0b
Color customization ( #245 )
2015-06-03 01:46:03 +09:00
Junegunn Choi
b68e59a24b
Fix ANSI offset calculation
2015-05-22 02:20:10 +09:00
Junegunn Choi
4e0e492427
Minor refactoring
2015-05-22 00:02:14 +09:00
Junegunn Choi
3cdf71801e
Update --help
2015-05-21 01:51:24 +09:00
Junegunn Choi
801cf9ac62
Add unbound "toggle" action for customization
2015-05-21 01:37:16 +09:00
Junegunn Choi
34946b72a5
0.9.12
2015-05-21 00:44:49 +09:00
Junegunn Choi
1592bedbe8
Custom key binding support ( #238 )
2015-05-21 00:32:03 +09:00
Junegunn Choi
15099eb13b
Remove duplicate processing of command-line options
2015-05-20 20:42:45 +09:00
Junegunn Choi
5d9107fd15
Print info after prompt on redraw
...
This fixes the issue where "inline-info" is not immediately rendered
when the terminal is resized.
2015-04-25 23:20:40 +09:00
Junegunn Choi
a4cf5510e3
0.9.11
2015-04-22 01:42:38 +09:00
Junegunn Choi
651a8f8cc2
Add --inline-info option
...
Close #202
2015-04-21 23:50:53 +09:00
Junegunn Choi
9f64a00549
Fix double-click result when scroll offset is positive
2015-04-21 23:23:39 +09:00
Junegunn Choi
a88bf87e2a
Update test case
2015-04-21 22:36:40 +09:00
Junegunn Choi
e82eb27787
Smart-case for each term in extended-search mode
...
Close #208
2015-04-21 22:18:05 +09:00
Junegunn Choi
3f0e6a5806
Fix #209 - Invalid mutation of input on case conversion
2015-04-21 22:10:14 +09:00
Junegunn Choi
1169cc8653
0.9.10
2015-04-18 10:43:40 +09:00
Junegunn Choi
f66d94c6b0
Add --color=[dark|light|16|bw]
option
...
- dark: the current default for 256-color terminal
- light: color scheme for 256-color terminal with light background
- 16: the default color scheme for 16-color terminal (`+2`)
- bw: no colors (`+c`)
2015-04-18 02:55:17 +09:00
Junegunn Choi
2fe1e28220
Improvements in performance and memory usage
...
I profiled fzf and it turned out that it was spending significant amount
of time repeatedly converting character arrays into Unicode codepoints.
This commit greatly improves search performance after the initial scan
by memoizing the converted results.
This commit also addresses the problem of unbounded memory usage of fzf.
fzf is a short-lived process that usually processes small input, so it
was implemented to cache the intermediate results very aggressively with
no notion of cache expiration/eviction. I still think a proper
implementation of caching scheme is definitely an overkill. Instead this
commit introduces limits to the maximum size (or minimum selectivity) of
the intermediate results that can be cached.
2015-04-17 22:23:52 +09:00
Junegunn Choi
f9225f98e7
Fix sort control from Terminal
2015-04-16 22:13:31 +09:00
Junegunn Choi
d1d59272a2
Add visual indication of --toggle-sort
...
Close #194
2015-04-16 14:46:10 +09:00
Junegunn Choi
d08542ce5d
Prepare for 0.9.9 release
2015-04-16 14:34:40 +09:00
Junegunn Choi
b8904a8c3e
Add --tiebreak option for customizing sort criteria
...
Close #191
2015-04-16 14:19:28 +09:00
Junegunn Choi
48ab87294b
Add --no-hscroll option to disable horizontal scroll
...
Close #193
2015-04-16 12:56:01 +09:00
Junegunn Choi
3e1e75fe08
Remove unused variable
2015-04-16 10:52:04 +09:00
Junegunn Choi
2d68cb8639
Fix #185 - Terminate on RuneError
2015-04-14 23:19:55 +09:00
Junegunn Choi
5c25984ea0
Fix Unicode case handling ( #186 )
2015-04-14 21:45:37 +09:00
Junegunn Choi
50292adacb
Implement --toggle-sort option ( #173 )
2015-03-31 22:05:16 +09:00
Junegunn Choi
84a7499ae3
Fix #172 - Print empty line when fzf with expect finished by -1 or -0
2015-03-31 20:52:16 +09:00
Junegunn Choi
d988f3fa50
Retain ANSI background color
2015-03-29 03:12:55 +09:00
Junegunn Choi
2a167aa030
Implement --expect option to support simple key bindings ( #163 )
2015-03-29 02:59:32 +09:00
Junegunn Choi
f9d6b83f5e
Drop patch number and stick with M.m.p convention
2015-03-27 12:47:42 +09:00
Junegunn Choi
ce7d4a1c53
Fix #162 - Ignore \e[K
2015-03-27 12:35:06 +09:00
Junegunn Choi
9d138173be
Fix #155 - Empty ANSI color code to reset color state
2015-03-23 01:24:31 +09:00
Junegunn Choi
eae53576bd
Update --help message
2015-03-22 21:25:46 +09:00
Junegunn Choi
f8c49effd4
Respect "boldness" of input string
2015-03-22 17:43:28 +09:00
Junegunn Choi
618706a5f5
Fix ANSI output in the presence of multibyte characters
...
tree -C | fzf --ansi --tac
2015-03-22 17:22:52 +09:00
Junegunn Choi
b431e227da
Code cleanup
2015-03-22 16:05:54 +09:00
Junegunn Choi
d94dfe0876
Fix #151 - reduce initial memory footprint
2015-03-19 19:59:38 +09:00
Junegunn Choi
6130026786
Bump up the version - 0.9.5
2015-03-19 19:12:22 +09:00
Junegunn Choi
a723977b9f
Fix #149 - panic on empty string filter
2015-03-19 13:06:20 +09:00
Junegunn Choi
3dddbfd8fa
Fix string truncation
2015-03-19 12:14:26 +09:00
Junegunn Choi
e70a2a5817
Add support for ANSI color codes
2015-03-19 01:59:14 +09:00
Junegunn Choi
fe09559ee9
Build with Go 1.4.2
2015-03-01 11:49:11 +09:00
Junegunn Choi
94e8e6419f
Make --filter non-blocking when --no-sort ( #132 )
...
When fzf works in filtering mode (--filter) and sorting is disabled
(--no-sort), there's no need to block until input is complete. This
commit makes fzf print the matches on-the-fly when the following
condition is met:
--filter FILTER --no-sort [--no-tac --no-sync]
or simply:
-f FILTER +s
This removes unnecessary delay in use cases like the following:
fzf -f xxx +s | head -5
However, in this case, fzf processes the input lines sequentially, so it
cannot utilize multiple cores, which makes it slightly slower than the
previous mode of execution where filtering is done in parallel after the
entire input is loaded. If the user is concerned about the performance
problem, one can add --sync option to re-enable buffering.
2015-03-01 11:16:38 +09:00
Junegunn Choi
c1aa5c5f33
Add --tac option and reverse display order of --no-sort
...
DISCLAIMER: This is a backward incompatible change
2015-02-26 01:42:15 +09:00
Junegunn Choi
f5b034095a
Fix race condition in asynchronous -1 and -0
2015-02-18 00:51:44 +09:00
Junegunn Choi
e808151c28
Make --select-1 and --exit-0 asynchronous
2015-02-18 00:08:17 +09:00
Junegunn Choi
d760b790b3
Fix typo in code
2015-02-17 19:28:10 +09:00
Junegunn Choi
6c2ce28d0d
Add --sync
option
2015-02-13 12:25:19 +09:00
Junegunn Choi
9cb0cdb4ac
0.9.2
2015-01-24 14:49:21 +09:00
Junegunn Choi
448132c46c
Fix error when --query contains wide-length characters
2015-01-24 13:26:33 +09:00