Commit Graph

127 Commits (a06ccc928f46e9c095680bc67b9f65c61f323e23)

Author SHA1 Message Date
Junegunn Choi 8e2e63f9b9
Propertly fill window with background color
Close #805
8 years ago
Amos Bird 11015df52f Add half-page-{up,down} actions (#784) 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 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 340af463cd
Add --min-height option for percent --height 8 years ago
Junegunn Choi 9d545f9578
Fix update of multi-select pointer 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 a442fe0fd0
Truncate long lines in preview window
Add `:wrap` to --preview-window to wrap lines instead

Close #756
8 years ago
Junegunn Choi 3858086047
Always print scroll indicator in preview window 8 years ago
Junegunn Choi 8524ea7441
Do not ignore resize event from ncurses and tcell 8 years ago
Junegunn Choi 4b332d831e
Add --no-bold option 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
Junegunn Choi 0c573b3dff
Prepare for termbox/windows build
`TAGS=termbox make` (or `go build -tags termbox`)
8 years ago
Junegunn Choi 9f321cbe13
Fix header lines being cleared on toggle-preview
Close #722
8 years ago
Junegunn Choi 0a8d2996dc
Set foreground color without affecting background
Close #712
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 957c12e7d7
Fix SEGV when trying to render preview but the window is closed
Close #677
8 years ago
Junegunn Choi 1fc5659842
Add support for more ANSI color attributes (#674)
Dim, underline, blink, reverse
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 00f96aae76
Avoid rendering delay when displaying extremely long lines
Related #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 827a83efbc
Remove Offset slice from Result struct 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 8df7d962e6
Improve rendering time of long lines 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 e455836cc9
Fix race condition where preview window is not properly cleared 8 years ago
Junegunn Choi 24e1fabf2e
Do not process ANSI codes in --preview output at once
Close #598
8 years ago
Junegunn Choi 2bbc12063c
Add --preview and --preview-window
Close #587
8 years ago
Junegunn Choi 56fb2f00b3
Use single-quoted strings in execute action
Close #590
8 years ago
Junegunn Choi 13330738b8
Do not match jump labels beyond the screen limit 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 74d1694be9 Fix #541 - Print double-click when --expect=double-click is set 8 years ago
Junegunn Choi 2ccdf21a1f Add --hscroll-off=COL option
Close #513
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
Junegunn Choi e95d82748f Use $SHELL to start $FZF_DEFAULT_COMMAND (#481) 8 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'
8 years ago
Junegunn Choi 1893eca41a Handle SIGTERM gracefully (#482) 8 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 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 8d3a302a17 Simplify Item structure
This commit compensates for the performance overhead from the
extended tiebreak option.
9 years ago