Junegunn Choi
5d360180af
Add {fzf:prompt} placeholder expression
...
Close #3354
2023-12-28 17:10:06 +09:00
Junegunn Choi
c4df0dd06e
Add TRANSFORM ACTIONS section to man page
2023-12-26 12:21:06 +09:00
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
2023-12-26 00:14:05 +09:00
Junegunn Choi
d7b61ede07
Add support for negative --height
...
fzf --height=-1
Close #3487
2023-12-21 18:42:23 +09:00
Junegunn Choi
e8b34cb00d
Clarification on accept-or-print-query vs. become
2023-12-14 23:13:52 +09:00
Junegunn Choi
c36a64be68
Add accept-or-print-query
...
Close #3528
2023-12-10 15:59:45 +09:00
Junegunn Choi
d7d2ac3951
0.44.1
2023-11-17 19:17:00 +09:00
Junegunn Choi
38e3694d1c
Revert "Sixel and Kitty image support on Windows binary ( #2544 )"
...
This reverts commit 68db9cb499
.
2023-11-10 13:16:11 +09:00
Junegunn Choi
230fc49ae2
(Experimental) Add support for iTerm2 inline image protocol
...
Close #1102
fzf --preview 'imgcat -W $FZF_PREVIEW_COLUMNS -H $FZF_PREVIEW_LINES {}'
Notes:
* There is no good way to determine the height of the rendered image,
so we assume that the image takes the full height of the preview
window. So the image cannot be displayed with the other text.
* fzf-preview.sh script was updated to use `imgcat` if it's available
but `chafa` is not.
* iTerm2 also supports Sixel, so adding support for this protocol is not
quite necessary but it renders animated GIFs much better (e.g. looping).
2023-11-07 11:51:21 +09:00
Junegunn Choi
250d507bdf
Fix a typo on CHANGELOG
2023-11-07 10:50:08 +09:00
Junegunn Choi
a818653174
Add --listen-unsafe=ADDR to allow remote process execution ( #3498 )
2023-11-05 10:53:46 +09:00
Junegunn Choi
3f78d76da1
Allow accepting remote connections
...
Close #3498
# FZF_API_KEY is required for a non-localhost listen address
FZF_API_KEY=xxx fzf --listen 0.0.0.0:6266
2023-11-04 16:19:16 +09:00
Junegunn Choi
68db9cb499
Sixel and Kitty image support on Windows binary ( #2544 )
2023-11-03 00:09:02 +09:00
Junegunn Choi
3277e8c89c
Remove $FZF_PREVIEW_PIXEL_{WIDTH,HEIGHT} ( #2544 )
...
They are not neccessary because we can use a program such as chafa that
can resize images by the terminal columns and lines.
2023-10-26 22:28:15 +09:00
Junegunn Choi
d02b9442a5
(Experimental) Improve Sixel graphics support ( #2544 )
...
Progress:
* Sixel image can now be displayed with other text, and is scrollable
* If an image can't be displayed entirely due to the scroll offset, fzf
will render a wireframe to indicate that an image should be displayed
* Renamed $FZF_PREVIEW_{WIDTH,HEIGHT} to $FZF_PREVIEW_PIXEL_{WIDTH,HEIGHT}
for clarity
* Added bin/fzf-preview.sh script to demonstrate how to display an image
using Kitty or Sixel protocol
An example:
ls *.jpg | fzf --preview='seq $((FZF_PREVIEW_LINES*9/10)); fzf-preview.sh {}; seq 100'
A known issue:
* If you reduce the size of the preview window, the image may extend
beyond the preview window
2023-10-26 00:49:16 +09:00
Junegunn Choi
b1a0ab8086
Experimental Sixel support ( #2544 )
2023-10-23 01:05:30 +09:00
Junegunn Choi
d3311d9f43
0.43.0
2023-10-15 01:56:05 +09:00
Junegunn Choi
404b6a864b
Add offset-up and offset-down
...
# Scrolling will behave similarly to CTRL-E and CTRL-Y of vim
fzf --bind scroll-up:offset-up,scroll-down:offset-down \
--bind ctrl-y:offset-up,ctrl-e:offset-down \
--scroll-off=5
Close #3456
2023-10-11 12:53:51 +09:00
Junegunn Choi
391aa14845
Add mouse events for --bind
...
Close #3473
2023-10-11 09:42:12 +09:00
Junegunn Choi
2952737755
Update README: Experimental support for Kitty graphics protocol
2023-10-09 01:29:03 +09:00
Junegunn Choi
d8188fce7b
Experimental support for Kitty image protocol in preview window
...
Close #3228
* Works inside and outside of tmux
* There is a problem where fzf unnecessarily displays the scroll offset
indicator at the topbright of the screen when the image just fits the
preview window. This is because `kitty icat` generates an extra line
after the image area.
# A 5-row images; an extra row at the end confuses fzf
["\e_Ga ... \e[9C̅̅ࠪ̅̍ࠪ̅̎ࠪ̅̐ࠪ̅̒ࠪ̅̽ࠪ̅̾ࠪ̅̿ࠪ̅͆ࠪ̅͊ࠪ̅͋ࠪ\n",
"\r\e[9C̍̅ࠪ̍̍ࠪ̍̎ࠪ̍̐ࠪ̍̒ࠪ̍̽ࠪ̍̾ࠪ̍̿ࠪ̍͆ࠪ̍͊ࠪ̍͋ࠪ\n",
"\r\e[9C̎̅ࠪ̎̍ࠪ̎̎ࠪ̎̐ࠪ̎̒ࠪ̎̽ࠪ̎̾ࠪ̎̿ࠪ̎͆ࠪ̎͊ࠪ̎͋ࠪ\n",
"\r\e[9C̐̅ࠪ̐̍ࠪ̐̎ࠪ̐̐ࠪ̐̒ࠪ̐̽ࠪ̐̾ࠪ̐̿ࠪ̐͆ࠪ̐͊ࠪ̐͋ࠪ\n",
"\r\e[9C̒̅ࠪ̒̍ࠪ̒̎ࠪ̒̐ࠪ̒̒ࠪ̒̽ࠪ̒̾ࠪ̒̿ࠪ̒͆ࠪ̒͊ࠪ̒͋ࠪ\n",
"\r\e[39m\e8"]
* Example:
fzf --preview='
if file --mime-type {} | grep -qF 'image/'; then
# --transfer-mode=memory is the fastest option but if you want fzf to be able
# to redraw the image on terminal resize or on 'change-preview-window',
# you need to use --transfer-mode=stream.
kitty icat --clear --transfer-mode=memory --stdin=no --place=${FZF_PREVIEW_COLUMNS}x${FZF_PREVIEW_LINES}@0x0 {}
else
bat --color=always {}
fi
'
2023-10-07 18:36:33 +09:00
Junegunn Choi
00809909ae
Update CHANGELOG
2023-09-22 21:59:47 +09:00
Junegunn Choi
0f50dc848e
Add 'GET /' endpoint for getting the program state (experimental)
...
Related #3372
2023-09-03 16:30:35 +09:00
Junegunn Choi
f50a7058d6
Fix center-alignment of border/preview label
...
Fix #3421
2023-09-01 20:30:44 +09:00
Junegunn Choi
ffd2314120
Restore --no-clear option in man page
...
Close #3411
2023-08-25 17:59:50 +09:00
Junegunn Choi
f83491274f
Add toggle-header option
...
Close #3358
2023-07-25 22:11:15 +09:00
Boaz Yaniv
c0435fdff4
Add API Keys for fzf --listen ( #3374 )
2023-07-20 23:42:09 +09:00
Junegunn Choi
d471067e3f
0.42.0
2023-06-15 00:37:41 +09:00
Junegunn Choi
d0b7780239
Add --info=right
...
Related: #3322
2023-06-11 16:09:15 +09:00
Junegunn Choi
e627ca6bd7
Add --info=inline-right
...
Close #3322
2023-06-10 23:11:05 +09:00
Mike
ce8a745fb4
Add new border style: 'thinblock' ( #3327 )
...
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2023-06-10 14:48:29 +09:00
Junegunn Choi
6eb1874c5a
0.41.1
2023-05-27 15:54:22 +09:00
Junegunn Choi
098ef4d7cf
0.41.0
2023-05-26 00:25:09 +09:00
Junegunn Choi
17a13f00f8
Allow customizing scrollbar of the preview window via --scrollbar=xy
2023-05-16 23:59:08 +09:00
Junegunn Choi
43436e48e0
Add new border style: 'block'
2023-05-16 23:45:31 +09:00
Junegunn Choi
e619b7c4f4
Fix the background color of the scrollbar inside the preview window
2023-05-01 16:18:26 +09:00
Junegunn Choi
b7c2e8cb67
Fix caching when reload and query change triggered by the same binding
2023-05-01 13:53:34 +09:00
Junegunn Choi
cf95e44cb4
Add 'zero' event
...
Close #3263
2023-04-26 15:13:08 +09:00
Junegunn Choi
65dd2bb429
Add 'track' action
2023-04-22 23:42:09 +09:00
Junegunn Choi
6be855be6a
Add change-header and transform-header
...
Close #3237
2023-04-22 22:01:37 +09:00
Junegunn Choi
b6e3f4423b
[man] Suggest setting RUNEWIDTH_EASTASIAN to 0 or 1
...
Close #2389
2023-04-22 16:35:46 +09:00
Junegunn Choi
0c61d81713
Add toggle-track action
2023-04-22 15:48:51 +09:00
Junegunn Choi
7c6f5dba63
Fixed --track when used with --tac
...
Fix #3234
2023-04-22 15:09:43 +09:00
Junegunn Choi
96670d5f16
Disallow using --track with --tac
...
Close #3234
2023-04-12 13:23:10 +09:00
Junegunn Choi
8ec917b1c3
Add 'one' event
...
Close #2629
Close #2494
Close #459
2023-04-01 17:25:47 +09:00
Junegunn Choi
1c7534f009
Add --track option to track the current selection
...
Close #3186
Related #1890
2023-04-01 12:59:44 +09:00
Junegunn Choi
d7daf5f724
Render CR and LF as ␍ and ␊
...
Close #2529
2023-03-25 10:41:19 +09:00
Junegunn Choi
fcd7e8768d
Omit port number in --listen
for automatic port assignment
...
Close #3200
2023-03-19 15:48:39 +09:00
Junegunn Choi
352ea07226
0.38.0
2023-02-15 23:24:42 +09:00
Junegunn Choi
27018787af
Describe become(...) action and use it to simplify examples
2023-02-15 23:24:42 +09:00
Junegunn Choi
6ea38b4438
Add become(...) action that replaces current fzf process
...
Close #3159
2023-02-11 20:26:31 +09:00
Junegunn Choi
aa2b9ec476
Add 'show-preview' and 'hide-preview'
...
For cases where 'toggle-preview' is not enough
2023-01-31 17:34:11 +09:00
Junegunn Choi
fccab60a5c
--preview-window 0,hidden
should not execute the preview command
...
Until `toggle-preview` action is triggered
Fix #3149
2023-01-30 21:39:18 +09:00
Junegunn Choi
2023012408
0.37.0
2023-01-24 22:11:14 +09:00
Junegunn Choi
618d317803
Support custom separator of inline info
...
Close #2030
Close #3084
2023-01-24 17:55:06 +09:00
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
2023-01-23 16:38:24 +09:00
Junegunn Choi
d51980a3f5
Add 'transform-border-label' and 'transform-preview-label'
2023-01-22 02:18:19 +09:00
Junegunn Choi
b077f6821d
Action argument in enclosed form should allow new lines
...
Close #3138
2023-01-21 22:20:26 +09:00
Junegunn Choi
b46e40e86b
[vim] Automatically set RUNEWIDTH_EASTASIAN=1 when &ambiwidth == double
2023-01-17 01:03:16 +09:00
Junegunn Choi
0c5956c43c
Better support for Windows terminals
...
* Default border style on Windows is changed to `sharp` because some
Windows terminals are not capable of displaying `rounded` border
characters correctly.
* If your terminal emulator renders each box-drawing character with
2 columns, set `RUNEWIDTH_EASTASIAN` environment variable to `1`.
2023-01-16 01:26:39 +09:00
Junegunn Choi
e97e925efb
Resume preview following if the user scrolls the window to the bottom
2023-01-12 23:18:41 +09:00
Junegunn Choi
3b2244077d
Add scrollbar to the preview window
2023-01-06 15:36:12 +09:00
Junegunn Choi
435d8fa0a2
Colors for 'separator' and 'scrollbar' will default to that for 'border'
2023-01-01 19:01:56 +09:00
Junegunn Choi
5cd6f1d064
Add scrollbar
...
Close #3096
2023-01-01 14:48:14 +09:00
Junegunn Choi
62c7f59b94
Add transform-prompt(...) action
2022-12-31 09:27:11 +09:00
Junegunn Choi
e97176b1d7
Update transform-query examples for zsh
...
Close #3107
2022-12-30 17:12:55 +09:00
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
2022-12-30 14:29:17 +09:00
Junegunn Choi
6c37177cf5
Add reload-sync action
...
Close #2816
2022-12-29 20:04:33 +09:00
Junegunn Choi
14775aa975
Add 'load' event that is triggered when the input stream is complete
...
and the first search (with or without query) is complete
2022-12-29 20:01:50 +09:00
Junegunn Choi
36d2bb332b
Add transform-query(...) action
...
Test case authored by @SpicyLemon
Close #1930
Close #2465
Close #2559
Close #2509 (e.g. fzf --bind 'space:transform-query:printf %s%s {q} {}')
2022-12-28 00:05:31 +09:00
Junegunn Choi
4b3f0b9f08
Allow put action with an argument i.e. put(...)
2022-12-27 19:54:46 +09:00
Junegunn Choi
12af069dca
Add pos(...) action to move the cursor to the numeric position
...
# Put the cursor on the 10th item
seq 100 | fzf --sync --bind 'start:pos(10)'
# Put the cursor on the 10th to last item
seq 100 | fzf --sync --bind 'start:pos(-10)'
Close #3069
Close #395
2022-12-27 01:08:42 +09:00
Junegunn Choi
b7bb973118
Revert "Add GET endpoints for getting the state of the finder"
...
This reverts commit 750b2a6313
.
This can cause a deadlock if the endpoints are accessed in the core event
loop via execute action.
fzf --listen 6266 --bind 'space:execute:curl localhost:6266'
Technically, there's no reason to use the API because the information is
already available via `{}` and `{q}`, but I'd like to completely remove
the risk of misuse.
2022-12-25 20:00:00 +09:00
Junegunn Choi
750b2a6313
Add GET endpoints for getting the state of the finder
...
* GET / (or GET /current)
* GET /query
2022-12-25 16:27:02 +09:00
Junegunn Choi
1ba7484d60
Add --listen=HTTP_PORT option to receive actions
...
Supersedes #2019
See also:
* #1728
* https://github.com/junegunn/fzf.vim/pull/1044
2022-12-21 01:35:08 +09:00
Junegunn Choi
51c518da1e
Add change-query(...) action
2022-12-18 00:26:31 +09:00
Junegunn Choi
18e3b38c69
Add 'next-selected' and 'prev-selected' actions
...
Close #2749
2022-12-11 00:59:34 +09:00
Junegunn Choi
3d2376ab52
Add color name 'preview-label' ( #3053 )
2022-12-09 12:05:27 +09:00
Junegunn Choi
6b207bbf2b
Fix inconsistent bonus points in exact match
...
Exact match would assign a different bonus point to the first character
when non-default --scheme was used.
Fix #3073
2022-12-04 22:17:39 +09:00
Junegunn Choi
8f4c89f50e
Make 'double-click' behave the same as 'enter' by default
...
Close #3061
2022-11-29 20:27:29 +09:00
Junegunn Choi
a38b63be18
Fix mouse event above fzf finder
...
Fix #2949
2022-11-18 20:32:59 +09:00
Junegunn Choi
1bebd6f4f5
Fix panic on inverse match query with --tiebreak=chunk
...
Fix #3055
2022-11-18 20:16:43 +09:00
Junegunn Choi
8868d7d188
Add --separator to customize the info separator
2022-11-10 16:23:33 +09:00
Junegunn Choi
01ae621f11
Add --border=[bold|double] and --preview-window=border-[bold|double]
2022-11-06 14:38:31 +09:00
Junegunn Choi
a29944660e
Fix typo in CHANGELOG
2022-11-01 13:33:09 +09:00
Junegunn Choi
c09ec8e4d1
Allow putting border label on the bottom line
...
Related #3022
2022-11-01 13:30:40 +09:00
Junegunn Choi
31bbaad06e
Add --preview-label and --preview-label-pos
...
Close #3022
2022-11-01 13:27:22 +09:00
Junegunn Choi
b9ca1fe830
Add horizontal separator after info panel (counter)
...
Close #3029
2022-11-01 13:27:11 +09:00
Junegunn Choi
e61585f2f3
Add --border-label and --border-label-pos
...
Close #3022
2022-11-01 13:27:00 +09:00
Junegunn Choi
168829b555
Add 'start' event that is triggered once when fzf finder starts
...
Close #1622
2022-10-27 00:38:38 +09:00
Junegunn Choi
78ad6d2d88
Phase out --no-clear in favor of bindable 'reload' action
2022-09-28 23:22:31 +09:00
Junegunn Choi
22cbd9fa58
Implement height range (--height ~[VALUE][%])
...
Close #2953
2022-09-28 23:22:31 +09:00
Abirdcfly
54d42e3f40
Fix typo in CHANGELOG ( #2948 )
2022-08-30 13:28:01 +09:00
Junegunn Choi
6fb41a202a
Add --scheme=[default|path|history] option to choose scoring scheme
...
Close #2909
Close #2930
2022-08-28 22:22:39 +09:00
Emil Vanherp
4bef330ce1
Add support for ANSI strike-through ( #2932 )
...
Close #2932
Co-authored-by: Emil Vanherp <emil@vanherp.me>
2022-08-26 09:27:49 +09:00
Junegunn Choi
c1c355160d
Support border-{up,down} as the synonyms for border-{top,bottom}
2022-08-20 00:11:17 +09:00
Junegunn Choi
aa10dccf90
Support colon delimiter in ANSI escape sequences
...
# Both should work
printf "\e[38;5;208mOption 1\e[m\nOption 2" | fzf --ansi
printf "\e[38:5:208mOption 1\e[m\nOption 2" | fzf --ansi
This change makes ANSI parsing slightly slower.
cpu: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Before:
BenchmarkNextAnsiEscapeSequence-12 992.22 MB/s
BenchmarkExtractColor-12 174.35 MB/s
After:
BenchmarkNextAnsiEscapeSequence-12 925.05 MB/s
BenchmarkExtractColor-12 163.33 MB/s
Fix #2913
2022-08-13 22:30:50 +09:00
Junegunn Choi
19f9bbca0d
Allow specifying fzf options in $FZF_TMUX_OPTS without '--'
2022-08-08 23:50:47 +09:00
Yang Tian
d826f9e72f
[fzf-tmux] Use fzf border instead of tmux popup border ( #2908 )
...
Co-authored-by: Yang Tian <yang.tian@getcruise.com>
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2022-08-07 10:28:45 +09:00
Junegunn Choi
38259d0382
Fix incorrect ordering of --tiebreak=chunk
2022-08-03 22:18:26 +09:00