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
Junegunn Choi
71a7b3a26f
Improve rendering performance by caching rune widths
...
Related: 8bead4a
2015-01-24 12:28:00 +09:00
Junegunn Choi
a47c06cb61
Fix update_assets script
2015-01-23 20:32:56 +09:00
Junegunn Choi
48e16edb47
Redraw and adjust upon terminal resize
2015-01-23 20:30:50 +09:00
Junegunn Choi
c35d98dc42
Nullify --nth option when it's irrelevant
2015-01-23 06:26:00 +09:00
Junegunn Choi
8bead4ae34
Improved handling of tab characters
2015-01-18 16:59:04 +09:00
Junegunn Choi
1b6cb3532d
Update src/README.md
2015-01-18 16:34:10 +09:00
Junegunn Choi
0a0955755a
Add note on installation
2015-01-18 16:32:37 +09:00
Junegunn Choi
30f9651f99
0.9.1
2015-01-17 14:15:26 +09:00
Junegunn Choi
fe89ac8a89
Add script for updating release assets
2015-01-17 11:57:21 +09:00
Junegunn Choi
5c0dc79ffa
Print selected items in the order they are selected
2015-01-17 11:07:04 +09:00
Junegunn Choi
0a83705d21
Use Go 1.4.1 to build linux binaries
2015-01-17 10:57:07 +09:00
Junegunn Choi
1990f3c992
Do not build i386 binary on Travis CI to speed up the process
2015-01-17 10:51:39 +09:00
Junegunn Choi
ae3180f919
Fix CTRL-Y key binding
...
With tmux-based test cases
2015-01-17 06:04:59 +09:00
Junegunn Choi
62acb9adc4
Fix error with empty list and release 0.9.1-dev
2015-01-15 06:06:22 +09:00
Junegunn Choi
0b5fa56444
Remove brew target
2015-01-14 02:26:47 +09:00