Commit Graph

349 Commits (beb2de2dd995ae261084ead9903d7fa7c08da7af)

Author SHA1 Message Date
Junegunn Choi 250496c953
Add 'result' event that is triggered when the result list is ready
Close #3560
5 months ago
Junegunn Choi e47dc758c9
Fix focus event not triggered in certain cases 5 months ago
Junegunn Choi f0fbed6007
Fix RuboCop error 5 months ago
Junegunn Choi 519de7c833
Fix unexpected result of --tiebreak=end
See https://github.com/junegunn/fzf/issues/3255#issuecomment-1869580320
5 months ago
Junegunn Choi 1707b8cdba
Add 'transform' action to conditionally perform a series of actions
'transform' action runs an external command that prints a series of
actions to perform.

  # Disallow selecting an empty line
  echo -e "1. Hello\n2. Goodbye\n\n3. Exit" |
    fzf --reverse --header 'Select one' \
        --bind 'enter:transform:[[ -n {} ]] && echo accept || echo "change-header:Invalid selection"'

  # Move cursor past the empty line
  echo -e "1. Hello\n2. Goodbye\n\n3. Exit" |
    fzf --reverse --header 'Select one' \
        --bind 'enter:transform:[[ -n {} ]] && echo accept || echo "change-header:Invalid selection"' \
        --bind 'focus:transform:[[ -n {} ]] && exit; [[ {fzf:action} =~ up$ ]] && echo up || echo down'

Close #3368
Close #2980
5 months ago
Junegunn Choi 50f092551b
Lint: RuboCop 6 months ago
Junegunn Choi c36a64be68
Add accept-or-print-query
Close #3528
6 months ago
Junegunn Choi 29e67d307a
Fix crash when preview window is hidden on focus event 6 months ago
Timofei Bredov edfdcc8cee
Basic context-aware completion for ssh command (#3424)
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
8 months ago
Junegunn Choi 0f50dc848e
Add 'GET /' endpoint for getting the program state (experimental)
Related #3372
9 months ago
Junegunn Choi f83491274f
Add toggle-header option
Close #3358
10 months ago
Boaz Yaniv c0435fdff4
Add API Keys for fzf --listen (#3374) 10 months ago
Junegunn Choi d0b7780239
Add --info=right
Related: #3322
12 months ago
Junegunn Choi 4c70745cc1
Fix bug where preview is not updated after reload when --disabled is set
Fix #3311
1 year ago
Syphdias 37f258b1bf
Add key combinations for ctrl-delete and shift-delete (#3284)
Currently there is not option to bind ctrl-delete and shift-delete. As
suggested by issue #3240, shift-delete could be used to bind "delete
entry from history" as it is a common way to do so in other
applications, e.g. browsers.

This, however, does only implement to use the key combination itself and
does not assign a default action to any of them. This does enable to
call one's all predefined actions. With the exec action this can
expanded like the issue #3240 suggested.
If desirable, the key combinations could later get a default behavior.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
1 year ago
Junegunn Choi 16b0aeda7d
Make sure 'become' process is given a proper tty device 1 year ago
Junegunn Choi 607eacf8c7
Allow unbind(focus)
Fix #3279
1 year ago
Junegunn Choi 94999101e3
Fix the behavior of change-preview-window action (#3280)
* change-preview-window restores the initial preview window options,
  and overrides the properties that are specified
* However, 'hidden' property is treated differently. It is set to
  'false' if the specified properties of the action is non-empty.
* cf. toggle-preview takes the "current" preview window options and
  toggles the 'hidden' property.
1 year ago
Junegunn Choi b7c2e8cb67
Fix caching when reload and query change triggered by the same binding 1 year ago
Junegunn Choi 77f9f4664a
Fix search not triggered when query change and reload happen at the same time
Fix #3268
1 year ago
Junegunn Choi cf95e44cb4
Add 'zero' event
Close #3263
1 year ago
Junegunn Choi 65dd2bb429
Add 'track' action 1 year ago
Junegunn Choi 6be855be6a
Add change-header and transform-header
Close #3237
1 year ago
Junegunn Choi 0c61d81713
Add toggle-track action 1 year ago
tyama711 fb019d43bf
Fix a bug of height range with -1 or -0 (#3226)
Fixed a bug that when both heightUnknown and deferred are true, deferred is not properly reset and the program terminates abnormally.

Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
1 year ago
Junegunn Choi 211512ae64
Fix Rubocop error 1 year ago
Junegunn Choi 8ec917b1c3
Add 'one' event
Close #2629
Close #2494
Close #459
1 year ago
Junegunn Choi 1c7534f009
Add --track option to track the current selection
Close #3186
Related #1890
1 year ago
Junegunn Choi d7daf5f724
Render CR and LF as ␍ and ␊
Close #2529
1 year ago
Junegunn Choi cfc0747d5d
Follow Rubocop suggestion 1 year ago
Junegunn Choi fcd7e8768d
Omit port number in `--listen` for automatic port assignment
Close #3200
1 year ago
Junegunn Choi 3c34dd8275
Fix extra new line in the preview window
When a colored text ends at the right end of the window

Fix #3209
1 year ago
Junegunn Choi 96c3de12eb
Run 'become' only when the command template is properly evaluated 1 year ago
Junegunn Choi 6ea38b4438
Add become(...) action that replaces current fzf process
Close #3159
1 year ago
Junegunn Choi aa2b9ec476
Add 'show-preview' and 'hide-preview'
For cases where 'toggle-preview' is not enough
1 year ago
Junegunn Choi 3ee00f8bc2
toggle-preview should not show empty preview window 1 year ago
Junegunn Choi fccab60a5c
`--preview-window 0,hidden` should not execute the preview command
Until `toggle-preview` action is triggered

Fix #3149
1 year ago
Junegunn Choi 618d317803
Support custom separator of inline info
Close #2030
Close #3084
1 year ago
Junegunn Choi 284d77fe2e
Add 'focus' event
Can we find a better name? I have considered the followings.

* 'point', because "the pointer" points to the current item.
* 'shift', 'switch', 'move', etc. These are not technically correct
  because the current item can change without cursor movement (--tac,
  reload, search update)
* 'change' is already taken. 'change-current' feels a bit wordy and
  sounds wrong, 'current-changed' is wordy and doesn't go well with the
  other event names
* 'target', not straightforward

Close #3053
1 year ago
Junegunn Choi d51980a3f5 Add 'transform-border-label' and 'transform-preview-label' 1 year ago
Junegunn Choi 77874b473c
Update Rubocop dependencies 1 year ago
Junegunn Choi b7cce7be15
Remove unused block argument 1 year ago
Junegunn Choi 3cd3362417
Fix test failure 1 year ago
Junegunn Choi e97e925efb
Resume preview following if the user scrolls the window to the bottom 1 year ago
Junegunn Choi 23d8b78ce1
Allow toggling of alternative preview window layout that is hidden
Fix #3113
1 year ago
Junegunn Choi 3b2244077d
Add scrollbar to the preview window 1 year ago
Junegunn Choi 5cd6f1d064
Add scrollbar
Close #3096
1 year ago
Junegunn Choi 62c7f59b94
Add transform-prompt(...) action 1 year ago
Junegunn Choi d649f5d826
Always execute preview command if {q} is in the template
Even when {q} is empty. Because, why not?

While this can be seen as a breaking change, there is an easy workaround
to keep the old behavior.

    # This will show // even when the query is empty
    : | fzf --preview 'echo /{q}/'

    # But if you don't want it,
    : | fzf --preview '[ -n {q} ] || exit; echo /{q}/'

Close #2759
1 year ago
Junegunn Choi 6c37177cf5
Add reload-sync action
Close #2816
1 year ago