summaryrefslogtreecommitdiff
path: root/src/tui/tui.go
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-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-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-06Add 'multi' event triggered on multi-selection changesJunegunn Choi
2025-06-25Support full-line background color in the list sectionJunegunn Choi
Close #4432
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-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-03-22Suppress 'change' event during bracketed paste modeJunegunn Choi
Close #4316
2025-02-11Print --wrap-sign in preview windowJunegunn Choi
Close #4233
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-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
2024-12-31Add --list-border for additional border around the list sectionJunegunn Choi
Close #4148
2024-12-14Remove unused interfaceJunegunn Choi
2024-12-14Fix redundant clearing of the windows with non-default bg colorJunegunn Choi
2024-12-12RefactorJunegunn Choi
2024-12-12Use Has{Top,Right,Bottom,Left}() where possibleJulian Prein
De-duplicate code and reduce the amount of code that has to be changed when new BorderShapes are being added. This also adds and uses the missing HasBottom().
2024-08-14Add support for hyperlinks in preview windowJunegunn Choi
Close #2165
2024-06-17Improved --sync behaviorJunegunn Choi
When --sync is provided, fzf will not render the interface until the initial filtering and associated actions (bound to any of 'start', 'load', or 'result') are complete.
2024-06-02Fix invalid default of selected-hl (--color)Junegunn Choi
It should default to 'hl' instead of 'current-hl'
2024-05-24Fix incorrect colors for selected-{fg,bg,hl}Junegunn Choi
When a non-default base color scheme is specified, fzf would choose incorrect colors for selected-*. fzf --color 'light,fg:238,bg:255,bg+:253' -m
2024-05-18Add --tmux option to replace fzf-tmux scriptJunegunn Choi
2024-05-07Add color names: selected-{fg,bg,hl}Junegunn Choi
2024-05-07Refactor the code so that fzf can be used as a library (#3769)Junegunn Choi
2024-05-05Add click-header event for reporting clicks within header (#3768)Kuremu
Sets $FZF_CLICK_HEADER_LINE and $FZF_CLICK_HEADER_COLUMN env vars with coordinates of the last click inside and relative to the header and fires click-header event. Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2024-05-05Fix rendering of preview window border of tcell rendererJunegunn Choi
(sleep 1; find .) | go run -tags tcell main.go --bind 'space:change-preview-window(60%|70%|80%|90%|border-left|border-right|border-vertical|border-top|border-horizontal|border-bottom|border-sharp|border-double|border-block|hidden|left|up|down|right|up|down|)' \ --preview 'cat {}' --color bg:red,preview-bg:blue \ --border --margin 3
2024-04-13Enable profiling options when 'pprof' tag is set (#2813)Charlie Vieth
This commit enables cpu, mem, block, and mutex profling of the FZF executable. To support flushing the profiles at program exit it adds util.AtExit to register "at exit" functions and mandates that util.Exit is used instead of os.Exit to stop the program. Co-authored-by: Junegunn Choi <junegunn.c@gmail.com>
2024-04-13Export $FZF_KEY environment variable to child processesJunegunn Choi
It's the name of the last key pressed. Related #3412