Commit Graph

66 Commits (fa2f9f1f21bb41ac915a564fbf45b1bf50e40546)

Author SHA1 Message Date
Junegunn Choi 90b0cd44ac Should not strip ANSI codes when --ansi is not set 9 years ago
Junegunn Choi 15c49a3e08 Fix race condition 9 years ago
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
9 years ago
Junegunn Choi 634670e3ea Lint 9 years ago
Junegunn Choi 7231acd442 Fix mouse scroll when --margin is set 9 years ago
Junegunn Choi ee0c8a2635 Add --margin option
Close #299
9 years ago
Junegunn Choi fdbf3d3fec Replace eof action with cancel (#289) 9 years ago
Junegunn Choi 13e040baee Bind CTRL-D to the new delete-char/eof action
- CTRL-D - delete-char/eof
- DEL - delete-char
9 years ago
Junegunn Choi cc0d5539ba Add "eof" action which closes the finder only when input is empty
Close #289
9 years ago
Junegunn Choi 928fccc15b Fix header not shown when the lines go beyond the screen limit 9 years ago
Junegunn Choi 5e3cb3a4ea Fix ANSI processor to handle multi-line regions 9 years ago
Junegunn Choi f71ea5f3ea Add test cases for header and fix corner cases 9 years ago
Junegunn Choi f469c25730 Add --header-lines option 9 years ago
Junegunn Choi 8b2adba8d6 Redraw of header on resize 9 years ago
Junegunn Choi d459e9abce Add --header-file option 9 years ago
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.
9 years ago
Junegunn Choi d261c36cde Keep the spinner spinning even when the source stream is idle 9 years ago
Junegunn Choi fe4e452d68 Add --cycle option for cyclic scrolling
Close #266
9 years ago
Junegunn Choi d54a4fa223 Add key name "bspace" for --bind (bspace != ctrl-h) 9 years ago
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 {}']"
9 years ago
Junegunn Choi 77bab51696 GoLint fix 9 years ago
Junegunn Choi 6ad1736832 Fix ignore action 9 years ago
Junegunn Choi 9fca611c4a Add `ignore` action for --bind 9 years ago
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
9 years ago
Junegunn Choi eaa3c67a5e Add actions for --bind: select-all / deselect-all / toggle-all
Close #257
9 years ago
Junegunn Choi 443a80f254 Always use the same color for multi-select markers 9 years ago
Junegunn Choi 801cf9ac62 Add unbound "toggle" action for customization 9 years ago
Junegunn Choi 1592bedbe8 Custom key binding support (#238) 9 years ago
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.
9 years ago
Junegunn Choi 651a8f8cc2 Add --inline-info option
Close #202
9 years ago
Junegunn Choi 9f64a00549 Fix double-click result when scroll offset is positive 9 years ago
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`)
9 years ago
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.
9 years ago
Junegunn Choi f9225f98e7 Fix sort control from Terminal 9 years ago
Junegunn Choi d1d59272a2 Add visual indication of --toggle-sort
Close #194
9 years ago
Junegunn Choi 48ab87294b Add --no-hscroll option to disable horizontal scroll
Close #193
9 years ago
Junegunn Choi 50292adacb Implement --toggle-sort option (#173) 9 years ago
Junegunn Choi 2a167aa030 Implement --expect option to support simple key bindings (#163) 9 years ago
Junegunn Choi f8c49effd4 Respect "boldness" of input string 9 years ago
Junegunn Choi b431e227da Code cleanup 9 years ago
Junegunn Choi 3dddbfd8fa Fix string truncation 9 years ago
Junegunn Choi e70a2a5817 Add support for ANSI color codes 9 years ago
Junegunn Choi c1aa5c5f33 Add --tac option and reverse display order of --no-sort
DISCLAIMER: This is a backward incompatible change
9 years ago
Junegunn Choi e808151c28 Make --select-1 and --exit-0 asynchronous 9 years ago
Junegunn Choi 448132c46c Fix error when --query contains wide-length characters 10 years ago
Junegunn Choi 71a7b3a26f Improve rendering performance by caching rune widths
Related: 8bead4a
10 years ago
Junegunn Choi 48e16edb47 Redraw and adjust upon terminal resize 10 years ago
Junegunn Choi 8bead4ae34 Improved handling of tab characters 10 years ago
Junegunn Choi 5c0dc79ffa Print selected items in the order they are selected 10 years ago
Junegunn Choi ae3180f919 Fix CTRL-Y key binding
With tmux-based test cases
10 years ago