summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2025-03-30Add 'r' flag (raw) for unquoted outputJunegunn Choi
By default, placeholder expressions are automatically quoted to ensure they are safely passed as arguments to external programs. The r flag ({r}, {r1}, etc.) disables this behavior, outputting the evaluated value without quotes. For example, echo 'foo bar' | fzf --preview 'echo {} {r}' The preview command becomes: echo 'foo bar' foo bar Since `{r}` expands to unquoted "foo bar", 'foo' and 'bar' are passed as separate arguments. **Use with caution** Unquoted output can lead to broken commands. echo "let's go" | fzf --preview 'echo {r}' Close #4330
2025-03-28Add change-ghost and transform-ghostJunegunn Choi
2025-03-28Fix header window not updated on change-headerJunegunn Choi
2025-03-28Add change-pointer and transform-pointerJunegunn Choi
Close #4178
2025-03-26Fix info not updated after track-current is disabled due to race conditionJunegunn Choi
2025-03-26Fix query precedence in an action chain (#4326)Junegunn Choi
When 'search' and any action that modifies the query are in an action chain, anything that comes later takes precedence.
2025-03-26Improve query modification prevention in input-less modeJunegunn Choi
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-25Do not ignore current query when input is hiddenJunegunn Choi
* 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-24Fix first entry not clickable when input section is hiddenJunegunn Choi
Fix #4325
2025-03-24Fix cursor position when prompt is truncatedJunegunn Choi
e.g. fzf --preview 'cat {}' --prompt "$(seq 100 | xargs)" fzf --preview 'cat {}' --prompt "$(seq 100 | xargs)" --input-border
2025-03-23Fix offset-middle not updating the listJunegunn Choi
2025-03-22Suppress 'change' event during bracketed paste modeJunegunn Choi
Close #4316
2025-03-20Prevent start:track-current from being disabledJunegunn Choi
# track-current state can be immediately disabled fzf --sync --bind 'start:track-current'
2025-03-16Fix wrapping of the list sectionJunegunn Choi
# The first line of the second chunk would prematurely wrap printf '%0500s\n\n%0500s' 0 0 | fzf --wrap --read0
2025-03-15Fix ghost text with inline infoJunegunn Choi
Fix #4312
2025-03-14Add `--ghost=TEXT` to display a ghost text when the input is emptyJunegunn Choi
2025-03-11Change 'interface{}' to 'any' (#4308)Gabriel Marin
2025-03-10Nullify unwanted FZF_DEFAULT_* variables in tmux popupJunegunn Choi
Fix #4298
2025-03-03[windows] Prevent fzf from consuming user input while pausedJunegunn Choi
This partly fixes #4260. fzf still can consume the first key stroke.
2025-02-27Make truncateQuery fasterJunegunn Choi
https://github.com/junegunn/fzf/issues/4292#issuecomment-2687051731
2025-02-27Increase the query length limit from 300 to 1000Junegunn Choi
Close #4292
2025-02-26Remove temp files before 'become' when using --tmux optionJunegunn Choi
Close #4283 But the temp files for the `f` flags in the 'become' template will not be removed, because we will need them after "becoming" another program. e.g. fzf --bind 'enter:become:cat {f}'
2025-02-26Trim trailing whitespaces after processing ANSI sequencesJunegunn Choi
Close #4282
2025-02-26Make --accept-nth compatible with --select-1Junegunn Choi
Fix #4287
2025-02-25Fix condition for using item numlines cache (#4285)alex-huff
2025-02-25Use '/' as path separator on MSYS2Junegunn Choi
Fix #4281
2025-02-24Fix regression: Trim trailing whitespaces when using --with-nthJunegunn Choi
https://github.com/junegunn/fzf/issues/4272#issuecomment-2677279620
2025-02-23Add support for {n} in --with-nth and --accept-nth templatesJunegunn Choi
Close #4275
2025-02-22Fix 'jump' when pointer is emptyJunegunn Choi
Fix #4270
2025-02-21Don't trim last field when delimiter is regex (#4266)phanium
2025-02-20Fix case where preview window is not scrollable (#4258)Junegunn Choi
When the last rendered line was wrapped, fzf would incorrectly determine the scrollability of the window.
2025-02-18walker: Append path separator to directoriesJunegunn Choi
Close #4255
2025-02-18Fix {q} in preview window affected by 'search' actionJunegunn Choi
2025-02-17Normalize char before pattern lookup (#4252)Alexei Șerșun
There is an edge-case in FuzzyMatchV1 during backward scan, related to normalization: if string is initially denormalized (e.g. Unicode symbol), backward scan will proceed further to the next char; however, when the score is computed, the string is normalized first, then scanned based on the pattern. This leads to accessing pattern index increment, which itself leads to out-of-bound index access, resulting in a panic. To illustrate the process, here's the sequence of operations when search is perfored: 1. during backward scan by "minim" pattern ``` xxxxx Minímal example ^^^^^^^^^^^^ |||||||||||| miniiiiiiiim <- compute score for this substring ``` 2. during compute score by "minim" pattern ``` Minímal exam minimal exam <- normalize chars before computing the score ^^^^^^ |||||| minim <- at this point the pattern is already fully scanned and index is out-of-the-bound ``` In this commit the char is normalized during backward scan, to detect properly the boundaries for the pattern.
2025-02-16Ignore NULL byte before CSI 6N responseJunegunn Choi
Close #2455
2025-02-13Avoid printing items in an extremely narrow screenJunegunn Choi
2025-02-13Truncate wrap sign in the list section if necessaryJunegunn Choi
2025-02-12Allow suffix match on --nth with custom --delimiterJunegunn Choi
When --nth is used with a custom --delimiter, the last delimiter was included in the search scope, forcing you to write the delimiter in a suffix-match query. This commit removes the last delimiter from the search scope. # No need to write 'bar,$' echo foo,bar,baz | fzf --delimiter , --nth 2 --filter 'bar$' This can be seen as a breaking change, but I'm gonna say it's a bug fix. Fix #3983
2025-02-12Make --accept-nth and --with-nth support templatesJunegunn Choi
2025-02-11Simplify codeJunegunn Choi
2025-02-11Truncate wrap signs in extremely narrow preview windowJunegunn Choi
2025-02-11Print --wrap-sign in preview windowJunegunn Choi
Close #4233
2025-02-09Rename actions: exclude and exclude-multiJunegunn Choi
https://github.com/junegunn/fzf/pull/4231#issuecomment-2646067669
2025-02-09Add exclude-current actionJunegunn Choi
https://github.com/junegunn/fzf/pull/4231#issuecomment-2646063208
2025-02-09Add 'exclude' action for excluding current/selected items from the result ↵Junegunn Choi
(#4231) Close #4185
2025-02-09Add --accept-nth option to transform the outputJunegunn Choi
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-07Fix change-header-label+change-headerJunegunn Choi
Fix #4227
2025-02-06Fix scrolling performance when --wrap is enabledJunegunn Choi
Fix #4221
2025-02-06Fix nth highlightingJunegunn Choi
Fix #4222
2025-02-02Stop processing more actions after a terminal action (accept, abort, etc.)Junegunn Choi