Commit Graph

1091 Commits (master)

Author SHA1 Message Date
Junegunn Choi 3492c8b780 Rename --history-max to --history-size
Considering HISTSIZE and HISTFILESIZE of bash
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 5e8d8dab82 More key names for --bind 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 45bd323cab Allow binding CTRL-G and CTRL-Q 9 years ago
Junegunn Choi 8677dbded1 Change alternative notation for execute action (#265)
e.g. fzf --bind "ctrl-m:execute:COMMAND..." --bind ctrl-j:accept
9 years ago
Junegunn Choi 794ad5785d Fix `.` to match newlines as well (#265) 9 years ago
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
9 years ago
Junegunn Choi e720f56ea8 Fix test code for docker build 9 years ago
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
9 years ago
Junegunn Choi 022435a90a More alternative notations for execute action
execute(...)
    execute[...]
    execute~...~
    execute!...!
    execute@...@
    execute#...#
    execute$...$
    execute%...%
    execute^...^
    execute&...&
    execute*...*
    execute:...:
    execute;...;
    execute/.../
    execute|...|
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 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
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 8e7164553f Add missing files from the previous commit
:(
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 1b9b1d15bc Adjust --help output 9 years ago
Junegunn Choi 81ffde92fb Merge branch '121-accept-nil-input' of https://github.com/dullgiulio/fzf into dullgiulio-121-accept-nil-input 9 years ago
Junegunn Choi 0be4cead20 Allow ^EqualMatch$ 9 years ago
Giulio Iotti f6dd32046e add support to nil-byte separated input strings, closes #121 9 years ago
Junegunn Choi 443a80f254 Always use the same color for multi-select markers 9 years ago
Dominik Honnef 98f62b191a Use ncurses's newterm instead of swapping stdout and stderr 9 years ago
Junegunn Choi 52771a6226 0.9.13 9 years ago
Junegunn Choi b00bcf506e Fix #248 - Premature termination of Reader on long input 9 years ago
Junegunn Choi fdbfe36c0b Color customization (#245) 9 years ago
Junegunn Choi b68e59a24b Fix ANSI offset calculation 9 years ago
Junegunn Choi 4e0e492427 Minor refactoring 9 years ago
Junegunn Choi 3cdf71801e Update --help 9 years ago
Junegunn Choi 801cf9ac62 Add unbound "toggle" action for customization 9 years ago
Junegunn Choi 34946b72a5 0.9.12 9 years ago
Junegunn Choi 1592bedbe8 Custom key binding support (#238) 9 years ago
Junegunn Choi 15099eb13b Remove duplicate processing of command-line options 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 a4cf5510e3 0.9.11 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 a88bf87e2a Update test case 9 years ago
Junegunn Choi e82eb27787 Smart-case for each term in extended-search mode
Close #208
9 years ago
Junegunn Choi 3f0e6a5806 Fix #209 - Invalid mutation of input on case conversion 9 years ago
Junegunn Choi 1169cc8653 0.9.10 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 d08542ce5d Prepare for 0.9.9 release 9 years ago
Junegunn Choi b8904a8c3e Add --tiebreak option for customizing sort criteria
Close #191
9 years ago
Junegunn Choi 48ab87294b Add --no-hscroll option to disable horizontal scroll
Close #193
9 years ago
Junegunn Choi 3e1e75fe08 Remove unused variable 9 years ago
Junegunn Choi 2d68cb8639 Fix #185 - Terminate on RuneError 9 years ago
Junegunn Choi 5c25984ea0 Fix Unicode case handling (#186) 9 years ago
Junegunn Choi 50292adacb Implement --toggle-sort option (#173) 9 years ago
Junegunn Choi 84a7499ae3 Fix #172 - Print empty line when fzf with expect finished by -1 or -0 9 years ago
Junegunn Choi d988f3fa50 Retain ANSI background color 9 years ago
Junegunn Choi 2a167aa030 Implement --expect option to support simple key bindings (#163) 9 years ago
Junegunn Choi f9d6b83f5e Drop patch number and stick with M.m.p convention 9 years ago
Junegunn Choi ce7d4a1c53 Fix #162 - Ignore \e[K 9 years ago
Junegunn Choi 9d138173be Fix #155 - Empty ANSI color code to reset color state 9 years ago
Junegunn Choi eae53576bd Update --help message 9 years ago
Junegunn Choi f8c49effd4 Respect "boldness" of input string 9 years ago
Junegunn Choi 618706a5f5 Fix ANSI output in the presence of multibyte characters
tree -C | fzf --ansi --tac
9 years ago
Junegunn Choi b431e227da Code cleanup 9 years ago
Junegunn Choi d94dfe0876 Fix #151 - reduce initial memory footprint 9 years ago
Junegunn Choi 6130026786 Bump up the version - 0.9.5 9 years ago
Junegunn Choi a723977b9f Fix #149 - panic on empty string filter 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 fe09559ee9 Build with Go 1.4.2 9 years ago
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.
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 f5b034095a Fix race condition in asynchronous -1 and -0 9 years ago
Junegunn Choi e808151c28 Make --select-1 and --exit-0 asynchronous 9 years ago
Junegunn Choi d760b790b3 Fix typo in code 9 years ago
Junegunn Choi 6c2ce28d0d Add `--sync` option 9 years ago
Junegunn Choi 9cb0cdb4ac 0.9.2 10 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 a47c06cb61 Fix update_assets script 10 years ago
Junegunn Choi 48e16edb47 Redraw and adjust upon terminal resize 10 years ago
Junegunn Choi c35d98dc42 Nullify --nth option when it's irrelevant 10 years ago
Junegunn Choi 8bead4ae34 Improved handling of tab characters 10 years ago
Junegunn Choi 1b6cb3532d Update src/README.md 10 years ago
Junegunn Choi 0a0955755a Add note on installation 10 years ago
Junegunn Choi 30f9651f99 0.9.1 10 years ago
Junegunn Choi fe89ac8a89 Add script for updating release assets 10 years ago
Junegunn Choi 5c0dc79ffa Print selected items in the order they are selected 10 years ago
Junegunn Choi 0a83705d21 Use Go 1.4.1 to build linux binaries 10 years ago
Junegunn Choi 1990f3c992 Do not build i386 binary on Travis CI to speed up the process 10 years ago
Junegunn Choi ae3180f919 Fix CTRL-Y key binding
With tmux-based test cases
10 years ago
Junegunn Choi 62acb9adc4 Fix error with empty list and release 0.9.1-dev 10 years ago
Junegunn Choi 0b5fa56444 Remove brew target 10 years ago
Junegunn Choi 789f26b1a5 Add GIF to src/README 10 years ago
Junegunn Choi a3068a33d5 Update install/build script from Homebrew 10 years ago
Junegunn Choi b8c4b35415 `make archive` for homebrew release 10 years ago
Junegunn Choi 2c86e728b5 Update src/README.md 10 years ago
Junegunn Choi cd847affb7 Reorganize source code 10 years ago
Junegunn Choi 7a2bc2cada Lint 10 years ago
Junegunn Choi 9dbf6b02d2 Fix race conditions
- Wait for completions of goroutines when cancelling a search
- Remove shared access to rank field of Item
10 years ago
Junegunn Choi 1db68a3976 Avoid unnecessary update of search progress 10 years ago
Junegunn Choi 1c31352675 Update src/README.md and package comment 10 years ago
Junegunn Choi 6c3489087c Refactor Makefile and Dockerfiles 10 years ago
Junegunn Choi 313578a1a0 Improve prefix/suffix cache lookup 10 years ago
Junegunn Choi bd7331ecf5 Remove unnecessary loop label 10 years ago
Junegunn Choi e293cd4d08 Add test cases for ChunkCache 10 years ago
Junegunn Choi ca4bdfb4bd Fix Transform result cache to speed up subsequent searches 10 years ago
Junegunn Choi 4f40314433 Fix --with-nth option when query is non-empty 10 years ago
Junegunn Choi f670f4f076 Make sure that cy is properly limited 10 years ago
Junegunn Choi 6e86fee588 Change Merger implementation on --no-sort 10 years ago
Junegunn Choi 2d9b38b93e Constrain cy in vmove() 10 years ago
Junegunn Choi b8a9861f95 Fix double click on an empty row not to close fzf 10 years ago
Junegunn Choi 188c90bf25 Fix incorrect behaviors of mouse events when --multi enabled 10 years ago
Junegunn Choi 8b02ae650c Update src/README.md 10 years ago
Junegunn Choi b7bb100810 Improve response time by only looking at top-N items 10 years ago
Junegunn Choi aa05bf5206 Reduce memory footprint 10 years ago
Junegunn Choi d303c5b3eb Minor refactoring 10 years ago
Junegunn Choi f401c42f9c Adjust initial coordinator delay 10 years ago
Junegunn Choi efec9acd6f Fix missing mutex unlock 10 years ago
Junegunn Choi 3ed86445e1 Remove call to ncurses set_tabsize()
Not available on old verions of ncurses
10 years ago
Junegunn Choi f99f66570b Add small initial delay to screen update
To avoid flickering when the input is small
10 years ago
Junegunn Choi 3e129ac68c Remove extraneous quote-escape 10 years ago
Junegunn Choi b277f5ae6f Fix i386 build 10 years ago
Junegunn Choi 6109a0fe44 Refactor Makefile 10 years ago
Junegunn Choi 383f908cf7 Remove unnecessary event dispatch 10 years ago
Junegunn Choi 3e6c950e12 Build i386 binary as well 10 years ago
Junegunn Choi ee2ee02599 Fix index out of bounds error during Transform 10 years ago
Junegunn Choi b42dcdb7a7 Update README for Go - System requirements 10 years ago
Junegunn Choi 82156d34cc Update Makefile and install script
fzf may not run correctly on some OS even when the binary the platform
is successfully downloaded. The install script is updated to check if
the system has no problem running the executable and fall back to Ruby
version when necessary.
10 years ago
Junegunn Choi 4a5142c60b Do not sort terms when building cache key 10 years ago
Junegunn Choi dee0909d2b Fix mouse click offset when list is scrolled 10 years ago
Junegunn Choi 8e5ecf6b38 Update Makefile and installer to use version number 10 years ago
Junegunn Choi 606d33e77e Remove race conditions from screen update 10 years ago
Junegunn Choi d2f7acbc69 Remove race conditions when accessing the last chunk 10 years ago
Junegunn Choi 0dd024a09f Remove unnecessary delay on non/defered interactive mode 10 years ago
Junegunn Choi 9930a1d4d9 Update install script to download tarball 10 years ago
Junegunn Choi 40d0a6347c Fix scan limit for --select-1 and --exit-0 options 10 years ago
Junegunn Choi baad26a0fd Fix exit conditions of --select-1 and --exit-0 10 years ago
Junegunn Choi f3177305d5 Rewrite fzf in Go 10 years ago