Junegunn Choi
b9804f5873
Add change-header-lines action to dynamically change --header-lines
...
All input lines now enter the chunklist with sequential indices, and
header lines are excluded from matching via Pattern.startIndex and
PassMerger offset. This allows the number of header lines to be changed
at runtime with change-header-lines(N), transform-header-lines, and
bg-transform-header-lines actions.
- Remove EvtHeader event; header items are read directly from chunks
- Add startIndex to Pattern and PassMerger for skipping header items
- Add targetIndex field to Terminal for cursor repositioning across
header-lines changes
Close #4659
2026-02-23 01:48:03 +09:00
Junegunn Choi
6360c9261c
Fix coloring of items with zero-width characters
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
This commit fixes incorrect coloring for items that contain zero-width
characters. It also makes ellipsis coloring consistent when text is
trimmed from either the left or the right.
Fix #4620
Close #4646
2026-02-01 11:08:23 +09:00
Junegunn Choi
e653628458
lint: test code
2026-02-01 11:08:23 +09:00
Junegunn Choi
b389616030
Fix track-current unset after a combined movement action
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Fix #4649
Close #4663
2026-01-26 22:00:30 +09:00
LangLangBart
3db63f5e52
fix(terminal): correct display width calculation with maxWidth ( #4596 )
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been cancelled
fix #4593
* test(core): add test for --freeze-right with long ellipsis
2025-11-20 09:09:36 +09:00
Junegunn Choi
1df99db0b2
Keep the previous delimiter before frozen columns
2025-11-13 22:38:49 +09:00
Junegunn Choi
b9f2bf64ff
Add --freeze-right=N option to keep the rightmost N fields visible
2025-11-12 22:00:27 +09:00
Junegunn Choi
07d53cb7e4
Add --freeze-left=N option to keep the leftmost N fields visible
2025-11-12 22:00:27 +09:00
Junegunn Choi
9ace1351ff
ADD $FZF_DIRECTION
2025-10-09 00:17:00 +09:00
Junegunn Choi
ca294109c3
Apply RuboCop suggestions
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-09-22 21:23:54 +09:00
Massimo Mund
ae12e94b1f
Add sub-word actions ( #3997 )
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been cancelled
Add `backward-subword`, `forward-subword`, `kill-subword`, `backward-kill-subword` actions.
2025-09-05 19:38:22 +09:00
Junegunn Choi
1afd143810
Fix incorrect truncation of --info-command with --info=inline-right
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been cancelled
Fix #4479
2025-08-08 18:51:24 +09:00
Junegunn Choi
af0014aba8
Fix a bug where you cannot unset the default --nth using change-nth
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-08-03 00:29:05 +09:00
Junegunn Choi
4efcc344c3
Add 'trigger(KEY_OR_EVENT[,...])' action
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-07-23 19:41:06 +09:00
Junegunn Choi
82c9671f79
Fix selection lost on revision bump
2025-07-06 22:02:12 +09:00
Junegunn Choi
d364a1122e
Fix regression where header is not updated
2025-07-06 20:24:23 +09:00
Junegunn Choi
6e3c830cd2
Add 'multi' event triggered on multi-selection changes
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-07-06 10:05:25 +09:00
Junegunn Choi
d34675d3c9
Fix panic caused by incorrect update ordering
...
Fix #4442
Make sure to prepare windows before rendering elements.
Thanks to @nugged for the report.
2025-07-02 21:28:11 +09:00
Junegunn Choi
c36ddce36f
Add bg-cancel action to ignore running background transforms
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Close #4430
Example:
# Implement popup that disappears after 1 second
# * Use footer as the popup
# * Use `bell` to ring the terminal bell
# * Use `bg-transform-footer` to clear the footer after 1 second
# * Use `bg-cancel` to ignore currently running background transform actions
fzf --multi --list-border \
--bind 'enter:execute-silent(echo -n {+} | pbcopy)+bell' \
--bind 'enter:+transform-footer(echo Copied {} to clipboard)' \
--bind 'enter:+bg-cancel+bg-transform-footer(sleep 1)'
2025-06-21 17:28:48 +09:00
Junegunn Choi
0c00b203e6
Implement asynchronous transform actions ( #4419 )
...
CodeQL / Analyze (go) (push) Has been cancelled
build / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Close #4418
Example:
fzf --bind 'focus:bg-transform-header(sleep 2; date; echo {})'
2025-06-16 00:39:11 +09:00
Junegunn Choi
894a1016bc
RuboCop lint
2025-05-17 11:20:29 +09:00
RafaelDominiquini
06ae9b0f3b
Add missing environment variables ( #4356 )
...
Co-authored-by: Rafael Baboni Dominiquini <rafaeldominiquini@gmail.com >
Co-authored-by: Junegunn Choi <junegunn.c@gmail.com >
2025-04-22 20:51:43 +09:00
Junegunn Choi
0edb5d5ebb
Fix trailing ␊ not rendered with '--read0 --no-multi-line'
...
CodeQL / Analyze (go) (push) Has been cancelled
Test fzf on Linux / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been cancelled
https://github.com/junegunn/fzf/pull/4334#issue-2966013714
# Should display foo␊
echo -en "foo\n" | fzf --read0 --no-multi-line
2025-04-11 20:46:49 +09:00
Junegunn Choi
ba6d1b8772
Add change-ghost and transform-ghost
CodeQL / Analyze (go) (push) Has been cancelled
Test fzf on Linux / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
Generate Sponsors README / deploy (push) Has been cancelled
2025-03-28 23:35:20 +09:00
Junegunn Choi
0dce561ec9
Fix header window not updated on change-header
2025-03-28 23:23:43 +09:00
Junegunn Choi
664ee1f483
Add change-pointer and transform-pointer
...
Close #4178
2025-03-28 21:28:25 +09:00
Junegunn Choi
998c57442b
Fix query precedence in an action chain ( #4326 )
...
When 'search' and any action that modifies the query are in an action
chain, anything that comes later takes precedence.
2025-03-26 15:47:43 +09:00
Junegunn Choi
4a0ab6c926
Improve query modification prevention in input-less mode
...
fzf would restore the original query in input-less mode after executing
a chain of actions.
This commit changes the behavior so that the restoration
happens after each action to allow something like
'show-input+change-query(...)+hide-input'.
Fix #4326
2025-03-26 10:34:52 +09:00
Junegunn Choi
f43e82f17f
Do not ignore current query when input is hidden
...
CodeQL / Analyze (go) (push) Has been cancelled
Test fzf on Linux / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
* The initial query given by --query should be respected
* The current query should still be respected after `hide-input`
(or `toggle-input)
Fix #4327
2025-03-25 21:08:06 +09:00
Junegunn Choi
82fd88339b
Fix offset-middle not updating the list
CodeQL / Analyze (go) (push) Has been cancelled
Test fzf on Linux / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-03-23 11:13:21 +09:00
Junegunn Choi
87f7f436e8
Fix ghost text with inline info
...
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
Fix #4312
2025-03-15 18:42:08 +09:00
Junegunn Choi
4298c0b1eb
Add --ghost=TEXT to display a ghost text when the input is empty
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
2025-03-14 16:46:23 +09:00
Junegunn Choi
710ebdf9c1
Make --accept-nth compatible with --select-1
...
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
Fix #4287
2025-02-26 00:25:23 +09:00
Junegunn Choi
461115afde
Add support for {n} in --with-nth and --accept-nth templates
...
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
Close #4275
2025-02-23 19:47:56 +09:00
Junegunn Choi
d79902ae59
Fix 'jump' when pointer is empty
...
Fix #4270
2025-02-22 19:05:30 +09:00
phanium
77568e114f
Don't trim last field when delimiter is regex ( #4266 )
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
2025-02-21 22:21:55 +09:00
Junegunn Choi
84e2262ad6
Make --accept-nth and --with-nth support templates
2025-02-12 20:15:04 +09:00
Junegunn Choi
a2420026ab
Rename actions: exclude and exclude-multi
...
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
https://github.com/junegunn/fzf/pull/4231#issuecomment-2646067669
2025-02-09 13:52:20 +09:00
Junegunn Choi
1be1991299
Add exclude-current action
...
https://github.com/junegunn/fzf/pull/4231#issuecomment-2646063208
2025-02-09 13:37:22 +09:00
Junegunn Choi
67dd7e1923
Add 'exclude' action for excluding current/selected items from the result ( #4231 )
...
Close #4185
2025-02-09 13:22:33 +09:00
Junegunn Choi
2b584586ed
Add --accept-nth option to transform the output
...
This option can be used to replace a sed or awk in the post-processing step.
ps -ef | fzf --multi --header-lines 1 | awk '{print $2}'
ps -ef | fzf --multi --header-lines 1 --accept-nth 2
This may not be a very "Unix-y" thing to do, so I've always felt that fzf
shouldn't have such an option, but I've finally changed my mind because:
* fzf can be configured with a custom delimiter that is a fixed string
or a regular expression.
* In such cases, you'd need to repeat the delimiter again in the
post-processing step.
* Also, tools like awk or sed may interpret a regular expression
differently, causing mismatches.
You can still use sed, cut, or awk if you prefer.
Close #3987
Close #1323
2025-02-09 11:53:35 +09:00
Junegunn Choi
c1470a51b8
Update Dockerfile
CodeQL / Analyze (go) (push) Has been cancelled
Test fzf on Linux / build (push) Has been cancelled
Test fzf on macOS / build (push) Has been cancelled
2025-02-02 23:10:53 +09:00
Junegunn Choi
6ee31d5dc5
Fix failing test case
2025-02-02 17:46:14 +09:00
Junegunn Choi
b7795a3dea
Fix RuboCop errors
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
Generate Sponsors README / deploy (push) Has been cancelled
2025-02-02 02:48:04 +09:00
Junegunn Choi
32234be7a2
FZF_KEY enhancements
...
* 'enter' instead of 'ctrl-m'
* 'space' instead of ' '
2025-02-02 02:23:47 +09:00
Junegunn Choi
18cbb4a84d
Display header lines at the top in 'reverse-list' layout
2025-02-01 17:03:59 +09:00
Junegunn Choi
e1e171a3c4
Add toggle-bind
2025-02-01 17:03:59 +09:00
Junegunn Choi
8179ca5eaa
Fix edge cases in --bind where ',' or ':' are chained ( #4206 )
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
2025-01-27 09:30:53 +09:00
Junegunn Choi
4b74f882c7
[test] Prefer match_count over item_count
...
CodeQL / Analyze (go) (push) Waiting to run
Test fzf on Linux / build (push) Waiting to run
Test fzf on macOS / build (push) Waiting to run
match_count can lag behind item_count and can cause intermittent failures.
2025-01-27 02:08:52 +09:00
Junegunn Choi
80da0776f8
Allow actions to multiple keys and events at once
...
Close #4206
2025-01-27 01:46:21 +09:00