Commit Graph

491 Commits (6b4805ca1a1b0758363d1bb8c4c996730e19dc5a)

Author SHA1 Message Date
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