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