Add --{header,header-lines,footer}-border=inline

New BorderShape that embeds the section inside the --list-border
frame, joined to the list content by a horizontal separator with
T-junctions where the list shape has side borders. Requires a list
border with both top and bottom segments; falls back to 'line'
otherwise. Stacks when multiple sections are inline.

Sections inherit --color list-border by default and are colored as a
uniform block via their own --color *-border and *-bg.

Incompatible with --header-first. --header-border=inline requires
--header-lines-border to be inline or unset.
This commit is contained in:
Junegunn Choi
2026-04-18 19:34:56 +09:00
parent ef6eba1b89
commit d754cfab87
9 changed files with 906 additions and 242 deletions
+16
View File
@@ -1,6 +1,22 @@
CHANGELOG
=========
0.72.0
------
- `--header-border`, `--header-lines-border`, and `--footer-border` now accept a new `inline` style that embeds the section inside the list frame, separated from the list content by a horizontal line whose endpoints join the surrounding list border as T-junctions.
- Requires `--list-border` with a line-drawing shape (rounded / sharp / bold / double / horizontal); falls back to `line` otherwise.
- Sections stack. Example combining all three:
```sh
ps -ef | fzf --reverse --style full:double \
--header 'Select a process' --header-lines 1 \
--bind 'load:transform-footer:echo $FZF_TOTAL_COUNT processes' \
--header-border=inline --header-lines-border=inline \
--footer-border=inline
```
- `--header-label` and `--footer-label` render on their respective separator row.
- The separator inherits `--color list-border` when the section's own border color is not explicitly set.
- `--header-first` is not compatible with `--header-border=inline` or `--header-lines-border=inline`; `--header-border=inline` requires `--header-lines-border` to be `inline` or unset.
0.71.0
------
_Release highlights: https://junegunn.github.io/fzf/releases/0.71.0/_