summaryrefslogtreecommitdiff
path: root/src/tui
AgeCommit message (Collapse)Author
2025-10-12Fix --bold inheritanceJunegunn Choi
Fix #4548
2025-10-12Revert "Make query string in `--disabled` state bold as before"Junegunn Choi
This reverts commit ab407c4645952d09c4bb9b481b178717f0a0578f.
2025-10-11Make query string in `--disabled` state bold as beforeJunegunn Choi
Fix #4546
2025-10-09Rename: '--color hidden' to '--color nomatch'Junegunn Choi
2025-10-09Add special 'strip' style attribute for stripping colorsJunegunn Choi
Test cases: fd --color always | fzf --ansi --delimiter / fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim,nth:regular fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim:strip,nth:regular fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim:strip,nth:regular --raw fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim:strip,nth:regular,hidden:strikethrough --raw fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim:strip,nth:regular,hidden:strip:strikethrough --raw fd --color always | fzf --ansi --delimiter / --nth -1 --color fg:dim:strip,nth:regular,hidden:strip:dim:strikethrough --raw
2025-10-09Revise color configurationJunegunn Choi
2025-10-09Introduce 'raw' modeJunegunn Choi
2025-09-23tui/light: consume full 7-byte CSI sequences to prevent leftover printing ↵Massimo Mund
(#4528) - Fix parsing in escSequence so 7-byte CSI forms (e.g. ESC [ 5 ; 10 ~) set *sz = 7 and the entire sequence is consumed. - Prevents trailing bytes (like 10~) from remaining in the input buffer and being printed as stray characters.
2025-09-17Adjust base16 (16) theme (#4501)Junegunn Choi
Motivation: `--color base16` can be a better default than `dark` or `light`, since it uses the colors defined by the current theme. This usually blends in more naturally and works well in both light and dark modes. However, some elements were previously hard-coded with white or black foreground colors, which can cause rendering issues in certain terminal themes.
2025-09-16Style change: thinner gutter column (#4521)Junegunn Choi
2025-09-14Fix CTRL-Z for tcell renderer by using the official APIJunegunn Choi
See https://github.com/gdamore/tcell/pull/431
2025-09-05Add keybindings for CTRL, ALT, SHIFT + UP, DOWN, RIGHT, LEFT, HOME, END, ↵Massimo Mund
BACKSPACE, DELETE & more (#3996) * Added tests for `LightRenderer` * Added common SHIFT, ALT and ALT+SHIFT key sequences * Added common CTRL key sequences * Added common CTRL+ALT, CTRL+SHIFT, CTRL+ALT+SHIFT key sequences * Added proper xterm META modifier handling according to https://github.com/joejulian/xterm/blob/defc6dd5684a12dc8e56cb6973ef973e7a32caa3/input.c#L357-L375 * Fix `ctrl-backspace` and `ctrl-alt-backspace` * Fix broken tcell tests on windows by swallowing Resize events * Added tests for FullscreenRenderer * Removed own fork of tcell and updated tcell to 2.9.0 tcell 2.9.0 is needed for `Ctrl-Alt-*` and `Ctrl-Alt-Shift-*` shortcuts in Windows * Replace conditional checks with switch statements to improve readability * Replace long conditionals with constant slices to improve readability * Bind `ctrl-bspace` (`ctrl-h`) to `backward-delete-char` by default Since we now distinguish between Backspace and Ctrl-Backspace, Ctrl-Backspace should trigger the same action as Backspace by default. In that way nothing changes for the user but you can bind other actions to Ctrl-Backspace when desired.
2025-07-23Better fix for #4465 - remove unnecessary eraseJunegunn Choi
2025-07-22Add 'click-footer' eventJunegunn Choi
2025-07-22Fix rendering error when hiding a preview window without borderJunegunn Choi
This was a regression introduced in cdcab267. Fix #4465
2025-07-06Update: make generateJunegunn Choi
2025-07-06Add 'multi' event triggered on multi-selection changesJunegunn Choi
2025-06-280.63.0Junegunn Choi
2025-06-25Support full-line background color in the list sectionJunegunn Choi
Close #4432
2025-06-19chore: fix function name (#4425)曹家巧
Signed-off-by: xiaoxiangirl <caojiaqiao@outlook.com>
2025-06-10Add footerJunegunn Choi
Options: --footer=STR String to print as footer --footer-border[=STYLE] Draw border around the footer section [rounded|sharp|bold|block|thinblock|double|horizontal|vertical| top|bottom|left|right|line|none] (default: line) --footer-label=LABEL Label to print on the footer border --footer-label-pos=COL Position of the footer label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) The default border type for footer is 'line', which draws a single separator between the footer and the list. It changes its position depending on `--layout`, so you don't have to manually switch between 'top' and 'bottom' The 'line' style is now supported by other border types as well. `--list-border` is the only exception.
2025-05-30Fix ANSI attributes lost when 'regular' attribute is set to fg or nthJunegunn Choi
Examples: echo -e "\x1b[33;3mfoo \x1b[mbar" | fzf --ansi --color fg:regular echo -e "\x1b[33;3mfoo \x1b[mbar" | fzf --ansi --color nth:regular
2025-05-28Allow customizing --ghost color via '--color ghost'Junegunn Choi
Examples: # Dimmed red fzf --ghost booya --color ghost:red # Regular red fzf --ghost booya --color ghost:red:regular Close #4398
2025-05-28Fix background color of 'disabled' queryJunegunn Choi
fzf --color disabled:red,list-bg:blue --disabled --query foo --input-border
2025-05-04Add 'alt-bg' color for striped lines (#4370)Junegunn Choi
Test cases: 1. 'jump' should show alternating background colors even when 'alt-bg' is not defined as before. go run main.go --bind load:jump Two differences: * The alternating lines will not be in bold (was a bug) * The marker column will not be rendered with alternating background color 2. Use alternating background color when 'alt-bg' is set go run main.go --color bg:238,alt-bg:237 go run main.go --color bg:238,alt-bg:237 --highlight-line 3. 'selected-bg' should take precedence go run main.go --color bg:238,alt-bg:237,selected-bg:232 \ --highlight-line --multi --bind 'load:select+up+select+up' 4. Should work with text with ANSI colors declare -f | perl -0777 -pe 's/^}\n/}\0/gm' | bat --plain --language bash --color always | go run main.go --read0 --ansi --reverse --multi \ --color bg:237,alt-bg:238,current-bg:236 --highlight-line --- Close #4354 Fix #4372
2025-04-20Add --tty-default=/dev/tty and --no-tty-default option (#4352)Junegunn Choi
Fix #4242. Use --no-tty-default, if you want fzf to perform a TTY look-up instead of defaulting to /dev/tty.
2025-04-060.61.1Junegunn Choi
2025-04-06Disable bracketed paste mode on exitJunegunn Choi
Related: #4338
2025-03-22Suppress 'change' event during bracketed paste modeJunegunn Choi
Close #4316
2025-03-11Change 'interface{}' to 'any' (#4308)Gabriel Marin
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-16Ignore NULL byte before CSI 6N responseJunegunn Choi
Close #2455
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-02Fix tcell renderer's pause and resumeJunegunn Choi
2025-02-02FZF_KEY enhancementsJunegunn Choi
* 'enter' instead of 'ctrl-m' * 'space' instead of ' '
2025-02-01Add {show,hide,toggle}-input and expose $FZF_INPUT_STATEJunegunn Choi
2025-01-30Add --no-input to hide the input section (#4210)Junegunn Choi
Close #2890 Close #1396 You can't type in queries in this mode, and the only way to trigger an fzf search is to use `search(...)` action. # Click header to trigger search fzf --header '[src] [test]' --no-input --layout reverse \ --header-border bottom --input-border \ --bind 'click-header:transform-search:echo ${FZF_CLICK_HEADER_WORD:1:-1}'
2025-01-27Enhance click-header eventJunegunn Choi
* Expose the name of the mouse action as $FZF_KEY * Trigger click-header on mouse up * Enhanced clickable header for `kill` completion
2025-01-25Add 'bell' action to ring the terminal bellJunegunn Choi
2025-01-23Add --header-lines-border to separate two headersJunegunn Choi
Examples: # Border only around the header from --header-lines seq 10 | fzf --header 'hello' --header-lines 2 --header-lines-border # Both headers with borders seq 10 | fzf --header 'hello' --header-lines 2 --header-border --header-lines-border # Use 'none' to still separate two headers but without a border seq 10 | fzf --header 'hello' --header-lines 2 --header-border --header-lines-border none --list-border
2025-01-20Make 'current-fg' inherit from 'fg' to simplify configurationJunegunn Choi
If you do not want 'current-fg' to inherit attributes of 'fg', prefix it with 'regular:' to reset them. # italic and underline fzf --color fg:italic,current-fg:underline # only underline fzf --color fg:italic,current-fg:regular:underline
2025-01-18Add 'gap-line' color for the horizontal line on each gapJunegunn Choi
Color inheritance: border >> list-border >> gap-line
2025-01-17chore: fix comment (#4181)piguagua
Signed-off-by: piguagua <piguagua@aliyun.com>
2025-01-16Allow displaying --nth parts in a different text styleJunegunn Choi
Close #4183
2025-01-11Make preview-scrollbar color conditionally inherit from scrollbar colorJunegunn Choi
2025-01-06Add preview border style 'line'Junegunn Choi
It draws a single line between the preview window and the rest of the interface. i.e. automatically choose between 'left', 'right', 'top', and 'bottom' depending on the position of the preview window.
2025-01-05Border around the header sectionJunegunn Choi
Close #4159
2025-01-02Border around the input section (prompt + info)Junegunn Choi
Close #4154