Commit Graph

650 Commits (607081bbaab228f41ebfe1f7aa0e993ab134c205)

Author SHA1 Message Date
Junegunn Choi 18a1aeaa91
0.16.9 7 years ago
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.
7 years ago
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
7 years ago
Junegunn Choi 28810c178f
Optimize ANSI code scanner
This change gives 5x speed improvement
7 years ago
Junegunn Choi a9e64efe45
Fix regression: output printed on alternate screen 7 years ago
Junegunn Choi 6b5886c034
Adjust --no-clear option for repetitive relaunching
Related: https://gist.github.com/junegunn/4963bab6ace453f7f529d2d0e01b1d85

Close #974
7 years ago
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.
7 years ago
Junegunn Choi 5e72709613
Speed up initial scanning with bitwise AND operation 7 years ago
Junegunn Choi 9e85cba0d0
Reduce memory footprint of Item struct 7 years ago
Junegunn Choi 8dbdd55730
Refactor cache lookup
- Remove multiple mutex locks in partial cache lookup
- Simplify return values
7 years ago
Junegunn Choi 6725151a99
Remove unnecessary copy of Chunk slice 7 years ago
Junegunn Choi d4f3d5a164
Remove pointer indirection by changing Chunk definition 7 years ago
Junegunn Choi b13fcfd831
Add missing --no-expect flag 7 years ago
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
7 years ago
Junegunn Choi 0c66521b23
Fix handling of bracketed paste mode
fzf should immediately continue consuming the buffer after discarding
bracketed paste mode sequence.

Close #951
7 years ago
Junegunn Choi b49f22cdf9
0.16.8 7 years ago
Junegunn Choi bf0cb4bfe2
Use find as the default command on Cygwin environment 7 years ago
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
7 years ago
Junegunn Choi 83e9af6601
Add git revision to --version output 7 years ago
Junegunn Choi 8bbf9335e1
Restructuring: main package in project root 7 years ago
Junegunn Choi 159f30b37f
Merge branch 'glide' of https://github.com/hinshun/fzf into hinshun-glide 7 years ago
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
7 years ago
Edgar Lee 7d3575b362
Use glide to handle go dependencies 7 years ago
Junegunn Choi 5d6eb5bfd6
Respect ANSI color state from the previous line in preview output 7 years ago
Junegunn Choi cf4711d878
Fix display of tab characters in --prompt 7 years ago
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>
7 years ago
Junegunn Choi f5746002fd
Do not "--cycle" on page-up/page-down
Close #928
7 years ago
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
7 years ago
Junegunn Choi 2d61691bb2
0.16.7 7 years ago
Junegunn Choi eba9e04e2e
Export FZF_PREVIEW_HEIGHT instead of FZF_HEIGHT
https://github.com/junegunn/fzf.vim/issues/361
7 years ago
Junegunn Choi 7f17a9d1b4
Update mattn/go-shellwords 7 years ago
Junegunn Choi d34e4cf698
Support CTRL-Z (SIGSTOP) 7 years ago
Junegunn Choi 6b592137b9
Add support for ctrl-alt-[a-z] key chords
Close #906
7 years ago
Junegunn Choi 9078197446
Add --version to --help output and man page
Close #888
Close #894
7 years ago
Junegunn Choi e03e91477b
0.16.6 7 years ago
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
7 years ago
Junegunn Choi 53348feb89
Add --no-clear option 7 years ago
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.
7 years ago
Junegunn Choi 972fb1a29d
Suppress ANSI colors in preview window if --no-color is set 7 years ago
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
7 years ago
Junegunn Choi 0b940e4b2b
Redraw item if query string has changed 7 years ago
Junegunn Choi e87a85a179
0.16.5 7 years ago
Junegunn Choi 11407bf656
Exclude sysfs in find commands 7 years ago
Junegunn Choi c82fb3c9b9
Add toggle-preview-wrap action 7 years ago
Junegunn Choi 309e1d8619
Properly truncate long query string 7 years ago
Junegunn Choi 3d74d277aa
Use cut instead of sed in the default command 7 years ago
Junegunn Choi 21da02fac2
Fix indentation 7 years ago
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
7 years ago
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.
7 years ago
Junegunn Choi ee5aeb80a4
0.16.4 7 years ago
Junegunn Choi 4b700192c1
Add --border option to draw horizontal lines above and below the finder
Goes well with --height
7 years ago
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.
8 years ago
Junegunn Choi c95bb109c8
Suppress CSI codes in the output 8 years ago
Junegunn Choi bd9c46ee34
Update ANSI processor to strip ^H along with its preceding character 8 years ago
Junegunn Choi 736aeaa1d3
Update go-runewidth
https://github.com/junegunn/go-runewidth/pull/1

/cc @joshuarubin
8 years ago
Junegunn Choi dd1f26522c
Fix caching scheme when --exact is set and '-prefix is used 8 years ago
Junegunn Choi d85a69a709
0.16.3 8 years ago
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
8 years ago
Junegunn Choi 36dceecd58
Add support for ctrl-space key
Close #825
8 years ago
Junegunn Choi 421b9b271a
Add execute-silent action
Close #823
8 years ago
Junegunn Choi ed57dcb924
Extend placeholder expression for multiple selections
Close #788
8 years ago
Junegunn Choi da2c28d5c2
Add --read0 and --print0 to --help output
Close #822
8 years ago
Junegunn Choi 8731d75607
Recalculate the width of trimmed line
Close #821
8 years ago
Junegunn Choi f2ce233a6d
0.16.2 8 years ago
Junegunn Choi 6a75e30941
Allow invisible preview window (--preview-window 0)
Close #820
8 years ago
Junegunn Choi a3244c4892
Delete every line below the cursor 8 years ago
Junegunn Choi a5ad8fd3bd
Minor refactoring 8 years ago
Junegunn Choi deccdb1ec5
Cursor postition response can be preceded by user key strokes 8 years ago
Junegunn Choi 12a43b5e62
Disable mouse if failed to query cursor position 8 years ago
Junegunn Choi e1291aa6d2
Fix make deps to see the right git dir 8 years ago
Junegunn Choi bb26f32ac7
Allow build on OpenBSD/FreeBSD/Android
Close #497
8 years ago
Junegunn Choi 4d928001b8
Update release script to upload assets in parallel 8 years ago
Junegunn Choi 71dec3dc5e
Fix bug where screen is not properly cleared on toggle-preview 8 years ago
Junegunn Choi ff248d566d
Drop ncurses dependency
Close #818
8 years ago
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
8 years ago
Junegunn Choi 2a669e9a17
Clear lines even when background color is not set
Also revert the workaround in Vim plugin introduced in fa7c897.

Related: #814
8 years ago
Junegunn Choi 24fa183297
make deps 8 years ago
Junegunn Choi 131aa5dd15
Composable actions in --bind
Close #816
8 years ago
Junegunn Choi 62ab8ece5e
0.16.1 8 years ago
Junegunn Choi 8e2e63f9b9
Propertly fill window with background color
Close #805
8 years ago
Junegunn Choi f96173cbe4
Add -L flag to the default find command
Close #781
8 years ago
Amos Bird 11015df52f Add half-page-{up,down} actions (#784) 8 years ago
Junegunn Choi 4bece04207
0.16.0 8 years ago
Junegunn Choi ede7bfb901
Optimize LightRenderer for slow terminals 8 years ago
Junegunn Choi e0036b5ad2
Add --filepath-word option
Close #802
8 years ago
Junegunn Choi 4ecb7f3a16
Replace --normalize with --literal and enable normalization by default
Ref #790
8 years ago
Junegunn Choi 03f5ef08c8
Use crypto/ssh/terminal instead of external stty command 8 years ago
Junegunn Choi d64828ce6d
Print error message to stderr on unexpected exit 8 years ago
Junegunn Choi 2aa739be81
Fix bug where occurrence of the pattern in header lines are highlighted 8 years ago
Junegunn Choi 9977a3e9fc
Make preview renderer suspend early on line wrap 8 years ago
Junegunn Choi f8082bc53a
No need to use /bin/sh to execute stty and tput 8 years ago
Junegunn Choi 996dcb14a3
Make fzf immediately quit when failed to read /dev/tty
Close #798
8 years ago
Junegunn Choi 0c127cfdc1
No need to query row position of the cursor if mouse is disabled 8 years ago
Junegunn Choi ae274158de
Add experimental support for 24-bit colors 8 years ago
Junegunn Choi 340af463cd
Add --min-height option for percent --height 8 years ago
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.
8 years ago
Junegunn Choi 6c6c0a4778
Make util.RuneWidth return 1 for non-displayable characters
Fix line wrapping in preview window
8 years ago
Junegunn Choi a16d8f66a9
Normalize pattern string before passing it to Algo function 8 years ago
Junegunn Choi 45793d75c2
Add --normalize option to normalize latin script characters
Close #790
8 years ago
Junegunn Choi 9d545f9578
Fix update of multi-select pointer 8 years ago
Junegunn Choi a30999a785
Prepare for 0.16.0 release 8 years ago
Junegunn Choi 1448d631a7
Add --height option 8 years ago
Junegunn Choi 7b0d9e1e07
Apply --tabstop to preview window 8 years ago
Junegunn Choi 16b5902aa2
Fix Linux build (#756) 8 years ago
Junegunn Choi a442fe0fd0
Truncate long lines in preview window
Add `:wrap` to --preview-window to wrap lines instead

Close #756
8 years ago
Junegunn Choi 67026718c1
Add BUILD.md 8 years ago
Junegunn Choi a71c471405
0.15.9 8 years ago
Junegunn Choi 3858086047
Always print scroll indicator in preview window 8 years ago
Junegunn Choi dffef3d9f3
Update build instructions for ncurses 6 and tcell
Close #357
Close #738
8 years ago
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
8 years ago
Junegunn Choi 6f17f412ba
Workaround for rendering glitch in case of short-lived input process
: | fzf --preview 'echo foo'
8 years ago
Junegunn Choi 746961bf43
[ncurses6] Suppress tui.Italic on ncurses 5 8 years ago
Junegunn Choi 182a6d99fd
[ncurses6] Support italics 8 years ago
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
8 years ago
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.
8 years ago
Junegunn Choi 8524ea7441
Do not ignore resize event from ncurses and tcell 8 years ago
Junegunn Choi 6a65006f55
0.15.8 8 years ago
Junegunn Choi d75ed841a9
Fix --no-bold on --no-color 8 years ago
Junegunn Choi 3cd2547e91
Reduce ESC delay to 100ms 8 years ago
Junegunn Choi 8c661d4e8c
Revamp escape sequence processing for WSL
Also add support for alt-[0-9] and f1[12]
8 years ago
Junegunn Choi 4b332d831e
Add --no-bold option 8 years ago
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.
8 years ago
Junegunn Choi a2beb159f1
0.15.7 8 years ago
Junegunn Choi 7ce427ff47
Fix panic when color is disabled and header lines contain ANSI colors
Close #732
8 years ago
Junegunn Choi a221c672fb
0.15.6 8 years ago
Junegunn Choi f87d382ec8
Fix --color=bw on tcell build 8 years ago
Junegunn Choi 2192d8d816
GOOS=windows make release 8 years ago
Junegunn Choi d206949f62
Wait for additional keys after ESC for up to 100ms
Close #661
8 years ago
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
8 years ago
Michael Kelley 26895da969
Implement tcell-based renderer 8 years ago
Junegunn Choi 0c573b3dff
Prepare for termbox/windows build
`TAGS=termbox make` (or `go build -tags termbox`)
8 years ago
Junegunn Choi 06a6ad8bca
Update ANSI processor to ignore ^N and ^O
This reverts commit 02c6ad0e59.
8 years ago
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"'
8 years ago
Junegunn Choi 9f321cbe13
Fix header lines being cleared on toggle-preview
Close #722
8 years ago
Junegunn Choi 9f30ca2923
0.15.5 8 years ago
Junegunn Choi 0a8d2996dc
Set foreground color without affecting background
Close #712
8 years ago
Junegunn Choi cfdb00b971
Allow other options to follow --color without spec 8 years ago
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.
8 years ago
Junegunn Choi 3222d62ddf
0.15.4 8 years ago
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` |
8 years ago
Junegunn Choi 154cf22ffa
Display scroll indicator in preview window 8 years ago
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.
8 years ago
Junegunn Choi 3066b206af
Support field index expressions in preview and execute action
Also close #679. The placeholder for the current query is {q}.
8 years ago
Junegunn Choi 04492bab10
Use unicode.IsSpace to cover more whitespace characters 8 years ago
Junegunn Choi 8b0d0342d4
0.15.3 8 years ago
Junegunn Choi 957c12e7d7
Fix SEGV when trying to render preview but the window is closed
Close #677
8 years ago
Junegunn Choi 3b5ae0f8a2
Fix failing unit tests on ANSI attributes 8 years ago
Junegunn Choi 1fc5659842
Add support for more ANSI color attributes (#674)
Dim, underline, blink, reverse
8 years ago
Junegunn Choi 1bc223d4b3
0.15.2 8 years ago
Junegunn Choi bef405bfa5
Ignore VT100-related escape codes 8 years ago
Junegunn Choi 0612074abe
Support high intensity colors
Close #671
8 years ago
Junegunn Choi 8c8b5b313e Add preview-page-up and preview-page-down actions 8 years ago
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
8 years ago
Junegunn Choi 7fa5e6c861
0.15.1 8 years ago
Junegunn Choi 00f96aae76
Avoid rendering delay when displaying extremely long lines
Related #666
8 years ago
Junegunn Choi a749e6bd16
Fix temp directory in a test case 8 years ago
Junegunn Choi 791076d366
Fix panic when pattern occurs after 2^15-th column
Fix #666
8 years ago
Junegunn Choi 37f43fbb35
Add --print0 option
Related: #660
8 years ago
Junegunn Choi 401a5fd5ff
Printable character in --expect set should not affect --print-query 8 years ago
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.
8 years ago
Junegunn Choi 2fc7c18747
Revise ranking algorithm 8 years ago
Junegunn Choi 8ef2420677
Update README 8 years ago
ishanray f44d40f6b4 Update algo.go 8 years ago
Junegunn Choi b86838c2b0
0.13.5 8 years ago
Junegunn Choi 1f7d1f9b15
Update Centos Dockerfile to use Go 1.7 8 years ago
Junegunn Choi f8fdf9618a
No need to cache the result in filtering mode (--filter) 8 years ago
Junegunn Choi 827a83efbc
Remove Offset slice from Result struct 8 years ago
Junegunn Choi 608c416207
Add missing sources 8 years ago
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
8 years ago
Junegunn Choi f7f01d109e
Set the upper limit of the number of search go routines 8 years ago
Junegunn Choi 01ee335521
Remove duplicate code 8 years ago
Junegunn Choi 0e0de29b87
Inline function calls in tight loops
By only using leaf functions
8 years ago
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.
8 years ago
Junegunn Choi 935272824e
Setting GOMAXPROCS is no longer needed
https://golang.org/doc/go1.5
8 years ago
Junegunn Choi 3a9532c8fd
Increase read buffer size to 64KB 8 years ago
Junegunn Choi c4c92142a6
0.13.4 8 years ago
Junegunn Choi d4b6338102
Lint 8 years ago
Junegunn Choi 8df7d962e6
Improve rendering time of long lines 8 years ago
Junegunn Choi 41e916a511
[perf] evaluateBonus can start from sidx - 1 8 years ago
Junegunn Choi d9c8a9a880
[perf] Remove memory copy when using string delimiter 8 years ago
Junegunn Choi ddc7bb9064
[perf] Optimize AWK-style tokenizer for --nth
Approx. 50% less memory footprint and 40% improvement in query time
8 years ago
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.
8 years ago
Junegunn Choi 1e74dbb937
:hidden property of previous --preview-window should be cleared
Fix #636. Patch suggested by @edi9999.
8 years ago
Junegunn Choi fccc93176b
0.13.3 8 years ago
Junegunn Choi a9a29dff4f
Fix duplicate rendering of the last line in preview window 8 years ago
Junegunn Choi 5759d50d4a
0.13.2 8 years ago
Junegunn Choi e455836cc9
Fix race condition where preview window is not properly cleared 8 years ago
Junegunn Choi 8a90f26c8a
0.13.1 8 years ago
Junegunn Choi 24e1fabf2e
Do not process ANSI codes in --preview output at once
Close #598
8 years ago
Junegunn Choi 3e1d6a7bcf
0.13.0 8 years ago
Junegunn Choi 2bbc12063c
Add --preview and --preview-window
Close #587
8 years ago
Junegunn Choi b8737b724b
Ignore controls chars for bracketed paste mode
Close #594
8 years ago
Junegunn Choi 56fb2f00b3
Use single-quoted strings in execute action
Close #590
8 years ago
Junegunn Choi 2f364c62f4
0.12.2 8 years ago
Junegunn Choi 7ed9f83662
Validate jump label characters
Also extend default jump labels
8 years ago
Junegunn Choi f498a9b3fb
Revert version number 8 years ago
Junegunn Choi 13330738b8
Do not match jump labels beyond the screen limit 8 years ago
Junegunn Choi e53535cc61
Update default jump labels 8 years ago
Junegunn Choi c62fc5e75c
More named keys: F5 ~ F10, ALT-/ 8 years ago
Junegunn Choi 70245ad98c
[make] Reduce the size of the binaries with `-ldflags -w`
Related: #555
8 years ago
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.
8 years ago
Junegunn Choi 9078688baf Add print-query action for --bind
Close #571
8 years ago
Junegunn Choi dd4be1da38
Allow alt-enter and alt-space for --bind (#571) 8 years ago
Junegunn Choi 88a80e3c2c
Determine 256-color capability using tigetnum("colors")
Close #570
8 years ago
Junegunn Choi 7f64fba80f Update Makefile to allow build on i686 (#555) 8 years ago
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.
8 years ago
Junegunn Choi 35a9aff8e1 0.12.1 8 years ago
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.
8 years ago
Junegunn Choi 4bde8de63f Apply new ranking algorithm to exact match as well 8 years ago
Junegunn Choi 879ead210f 0.11.2 8 years ago
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".
8 years ago
Junegunn Choi 74d1694be9 Fix #541 - Print double-click when --expect=double-click is set 8 years ago
Matt Westcott 2ca704405a Fix algorithm tests 8 years ago
Junegunn Choi 6ea760a336 Make 32-bit linux binary (partially) static (#523) 8 years ago
Junegunn Choi b47ab633e2 0.11.4 8 years ago
Junegunn Choi 2ccdf21a1f Add --hscroll-off=COL option
Close #513
8 years ago
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
8 years ago
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
8 years ago
Sergey Vlasov e3401a0645 Go 1.3 compatibility 8 years ago
Junegunn Choi 40d934e378 0.11.3 9 years ago
Junegunn Choi e95d82748f Use $SHELL to start $FZF_DEFAULT_COMMAND (#481) 9 years ago
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'
9 years ago
Junegunn Choi 1893eca41a Handle SIGTERM gracefully (#482) 9 years ago
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.
9 years ago
Junegunn Choi 95970164ad 0.11.2 9 years ago
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"
9 years ago
Junegunn Choi 45143f9541 Ignore leading whitespaces when calculating 'begin' index 9 years ago
Junegunn Choi 8d3a302a17 Simplify Item structure
This commit compensates for the performance overhead from the
extended tiebreak option.
9 years ago
Junegunn Choi 1d2d32c847 Accept comma-separated list of sort criteria 9 years ago
Junegunn Choi d635b3fd3c Update license: 2016 9 years ago
Junegunn Choi aa171b45cb Fix ubuntu-android target of Makefile 9 years ago
Junegunn Choi a1db64e7b1 Unset GO15VENDOREXPERIMENT in linux build env (#430) 9 years ago
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.
9 years ago
Junegunn Choi 248320fa55 0.11.1 9 years ago
Junegunn Choi d4e26707c7 GO15VENDOREXPERIMENT=1 (#430) 9 years ago
Junegunn Choi 99ea1056ac Add --tabstop option
Related: https://github.com/junegunn/fzf.vim/issues/49
9 years ago
Junegunn Choi e1df876b61 Merge pull request #380 from acornejo/android
Add android build: `make android`
9 years ago
Alex Cornejo 28ffb9638d add android build 9 years ago
Junegunn Choi 1c20255504 Fix typos in help message
Close #425. Thanks to @blueyed.
9 years ago
Junegunn Choi df468fc482 0.11.0 9 years ago
Junegunn Choi 31278bcc68 Fix compatibility issues with OR operator and inverse terms 9 years ago
Junegunn Choi e7e86b68f4 Add OR operator
Close #412
9 years ago
Junegunn Choi a89d8995c3 Add execute-multi action
Close #413
9 years ago
Junegunn Choi dbc854d5f4 Handle wide unicode characters in --prompt 9 years ago
Junegunn Choi 64afff6b9a 0.10.9 9 years ago
Junegunn Choi 6bddffbca4 Setup signal handlers before ncurses initialization
This prevents fzf from missing SIGWINCH during startup which
occasionally happens with fzf-tmux
9 years ago
Junegunn Choi 81a88693c1 Make --extended default
Close #400
9 years ago
Junegunn Choi 4d709e0dd2 Fix #391 - Strip non-printable characters 9 years ago
Junegunn Choi ae04f56dbd Fix --bind "double-click:execute(...)" (#374) 9 years ago
Junegunn Choi f80ff8c917 Add bindable double-click event (#374) 9 years ago