mirror of
https://github.com/junegunn/fzf
synced 2026-07-23 17:03:17 +00:00
77e6394f50
The pane sets the options itself before running fzf, so that they are
in place no matter how quickly the command exits, targeted at
$TMUX_PANE; the default target would resolve to the active pane of
the session's current window.
- pane-border-format is set to '#{pane_title}' so that the label is
displayed on the border when pane-border-status is enabled;
pane-border-status itself is a window option in released tmux
versions and is left alone
- When a border style is explicitly specified with --border, a popup
is used instead of a floating pane so that the fzf-drawn border is
the only border shown; give 'border-native' to force a floating pane
- 'none' and 'line' are treated as no border; fzf draws no box for
either, so the label is displayed on the native border
- Remove 'border-fzf' which is now redundant; it was never released
- The title is escaped for select-pane -T which expands format
expressions; a lone ';' is escaped as tmux would treat it as a
command separator
- The label is skipped when ANSI stripping leaves an empty string
- --border-label-pos is ignored
- Fix remain-on-exit set on the original pane instead of the floating
pane
40 lines
767 B
Go
40 lines
767 B
Go
package fzf
|
|
|
|
import "testing"
|
|
|
|
func TestEscapeTmuxTitle(t *testing.T) {
|
|
for _, tc := range []struct {
|
|
given string
|
|
expected string
|
|
}{
|
|
{"", ""},
|
|
{" fzf ", " fzf "},
|
|
{"#", "##"},
|
|
{"##", "####"},
|
|
{" C# notes #S ", " C## notes ##S "},
|
|
{"100%", "100%"},
|
|
{";", `\;`},
|
|
{"; rm", "; rm"},
|
|
{" ; ", " ; "},
|
|
} {
|
|
if actual := escapeTmuxTitle(tc.given); actual != tc.expected {
|
|
t.Errorf("expected %q, got %q", tc.expected, actual)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestEscapeTmuxTitleSeparator(t *testing.T) {
|
|
for _, tc := range []struct {
|
|
given string
|
|
expected string
|
|
}{
|
|
{"#;", "##;"},
|
|
{";#", ";##"},
|
|
{";;", ";;"},
|
|
} {
|
|
if actual := escapeTmuxTitle(tc.given); actual != tc.expected {
|
|
t.Errorf("expected %q, got %q", tc.expected, actual)
|
|
}
|
|
}
|
|
}
|