From 435d8fa0a285ec565c5f7161f3c808ebdd277232 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Sun, 1 Jan 2023 17:38:34 +0900 Subject: [PATCH] Colors for 'separator' and 'scrollbar' will default to that for 'border' --- CHANGELOG.md | 4 ++++ man/man1/fzf.1 | 45 +++++++++++++++++++++++---------------------- src/terminal.go | 2 +- src/tui/tui.go | 24 ++++++++++++------------ 4 files changed, 40 insertions(+), 35 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2838d50..31ee4bdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -105,6 +105,10 @@ CHANGELOG # No need to bind 'double-click' to the same action fzf --bind 'enter:execute:less {}' # --bind 'double-click:execute:less {}' ``` + - If the color for `separator` is not specified, it will default to the + color for `border`. Same holds true for `scrollbar`. This is to reduce + the number of configuration items required to achieve a consistent color + scheme. - Added color name `preview-label` for `--preview-label` (defaults to `label` for `--border-label`) - Minor bug fixes and improvements diff --git a/man/man1/fzf.1 b/man/man1/fzf.1 index 9ac213cd..75856d07 100644 --- a/man/man1/fzf.1 +++ b/man/man1/fzf.1 @@ -358,7 +358,7 @@ Do not display horizontal separator on the info line. A synonym for .TP .BI "--scrollbar=" "CHAR" -Use the given character to render scrollbar. (default: '▏' or ':' depending on +Use the given character to render scrollbar. (default: '│' or ':' depending on \fB--no-unicode\fR). .TP @@ -413,27 +413,28 @@ color mappings. \fBbw \fRNo colors (equivalent to \fB--no-color\fR) .B COLOR NAMES: - \fBfg \fRText - \fBbg \fRBackground - \fBpreview-fg \fRPreview window text - \fBpreview-bg \fRPreview window background - \fBhl \fRHighlighted substrings - \fBfg+ \fRText (current line) - \fBbg+ \fRBackground (current line) - \fBgutter \fRGutter on the left (defaults to \fBbg+\fR) - \fBhl+ \fRHighlighted substrings (current line) - \fBquery \fRQuery string - \fBdisabled \fRQuery string when search is disabled - \fBinfo \fRInfo line (match counters) - \fBseparator \fRHorizontal separator on info line (match counters) - \fBborder \fRBorder around the window (\fB--border\fR and \fB--preview\fR) - \fBlabel \fRBorder label (\fB--border-label\fR and \fB--preview-label\fR) - \fBpreview-label \fRBorder label of the preview window (\fB--preview-label\fR) - \fBprompt \fRPrompt - \fBpointer \fRPointer to the current line - \fBmarker \fRMulti-select marker - \fBspinner \fRStreaming input indicator - \fBheader \fRHeader + \fBfg \fRText + \fBpreview-fg \fRPreview window text + \fBbg \fRBackground + \fBpreview-bg \fRPreview window background + \fBhl \fRHighlighted substrings + \fBfg+ \fRText (current line) + \fBbg+ \fRBackground (current line) + \fBgutter \fRGutter on the left + \fBhl+ \fRHighlighted substrings (current line) + \fBquery \fRQuery string + \fBdisabled \fRQuery string when search is disabled (\fB--disabled\fR) + \fBinfo \fRInfo line (match counters) + \fBborder \fRBorder around the window (\fB--border\fR and \fB--preview\fR) + \fBseparator \fRHorizontal separator on info line + \fBscrollbar \fRScrollbar + \fBlabel \fRBorder label (\fB--border-label\fR and \fB--preview-label\fR) + \fBpreview-label \fRBorder label of the preview window (\fB--preview-label\fR) + \fBprompt \fRPrompt + \fBpointer \fRPointer to the current line + \fBmarker \fRMulti-select marker + \fBspinner \fRStreaming input indicator + \fBheader \fRHeader .B ANSI COLORS: \fB-1 \fRDefault terminal foreground/background color diff --git a/src/terminal.go b/src/terminal.go index ed585e9d..9f67032a 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -636,7 +636,7 @@ func NewTerminal(opts *Options, eventBox *util.EventBox) *Terminal { } if opts.Scrollbar == nil { if t.unicode { - t.scrollbar = "▏" // Left one eighth block + t.scrollbar = "│" } else { t.scrollbar = "|" } diff --git a/src/tui/tui.go b/src/tui/tui.go index e0fc6330..a9368c73 100644 --- a/src/tui/tui.go +++ b/src/tui/tui.go @@ -491,8 +491,6 @@ func EmptyTheme() *ColorTheme { Cursor: ColorAttr{colUndefined, AttrUndefined}, Selected: ColorAttr{colUndefined, AttrUndefined}, Header: ColorAttr{colUndefined, AttrUndefined}, - Separator: ColorAttr{colUndefined, AttrUndefined}, - Scrollbar: ColorAttr{colUndefined, AttrUndefined}, Border: ColorAttr{colUndefined, AttrUndefined}, BorderLabel: ColorAttr{colUndefined, AttrUndefined}, Disabled: ColorAttr{colUndefined, AttrUndefined}, @@ -500,6 +498,8 @@ func EmptyTheme() *ColorTheme { PreviewBg: ColorAttr{colUndefined, AttrUndefined}, Gutter: ColorAttr{colUndefined, AttrUndefined}, PreviewLabel: ColorAttr{colUndefined, AttrUndefined}, + Separator: ColorAttr{colUndefined, AttrUndefined}, + Scrollbar: ColorAttr{colUndefined, AttrUndefined}, } } @@ -519,8 +519,6 @@ func NoColorTheme() *ColorTheme { Cursor: ColorAttr{colDefault, AttrRegular}, Selected: ColorAttr{colDefault, AttrRegular}, Header: ColorAttr{colDefault, AttrRegular}, - Separator: ColorAttr{colDefault, AttrRegular}, - Scrollbar: ColorAttr{colDefault, AttrRegular}, Border: ColorAttr{colDefault, AttrRegular}, BorderLabel: ColorAttr{colDefault, AttrRegular}, Disabled: ColorAttr{colDefault, AttrRegular}, @@ -528,6 +526,8 @@ func NoColorTheme() *ColorTheme { PreviewBg: ColorAttr{colDefault, AttrRegular}, Gutter: ColorAttr{colDefault, AttrRegular}, PreviewLabel: ColorAttr{colDefault, AttrRegular}, + Separator: ColorAttr{colDefault, AttrRegular}, + Scrollbar: ColorAttr{colDefault, AttrRegular}, } } @@ -552,8 +552,6 @@ func init() { Cursor: ColorAttr{colRed, AttrUndefined}, Selected: ColorAttr{colMagenta, AttrUndefined}, Header: ColorAttr{colCyan, AttrUndefined}, - Separator: ColorAttr{colBlack, AttrUndefined}, - Scrollbar: ColorAttr{colBlack, AttrUndefined}, Border: ColorAttr{colBlack, AttrUndefined}, BorderLabel: ColorAttr{colWhite, AttrUndefined}, Disabled: ColorAttr{colUndefined, AttrUndefined}, @@ -561,6 +559,8 @@ func init() { PreviewBg: ColorAttr{colUndefined, AttrUndefined}, Gutter: ColorAttr{colUndefined, AttrUndefined}, PreviewLabel: ColorAttr{colUndefined, AttrUndefined}, + Separator: ColorAttr{colUndefined, AttrUndefined}, + Scrollbar: ColorAttr{colUndefined, AttrUndefined}, } Dark256 = &ColorTheme{ Colored: true, @@ -577,8 +577,6 @@ func init() { Cursor: ColorAttr{161, AttrUndefined}, Selected: ColorAttr{168, AttrUndefined}, Header: ColorAttr{109, AttrUndefined}, - Separator: ColorAttr{59, AttrUndefined}, - Scrollbar: ColorAttr{59, AttrUndefined}, Border: ColorAttr{59, AttrUndefined}, BorderLabel: ColorAttr{145, AttrUndefined}, Disabled: ColorAttr{colUndefined, AttrUndefined}, @@ -586,6 +584,8 @@ func init() { PreviewBg: ColorAttr{colUndefined, AttrUndefined}, Gutter: ColorAttr{colUndefined, AttrUndefined}, PreviewLabel: ColorAttr{colUndefined, AttrUndefined}, + Separator: ColorAttr{colUndefined, AttrUndefined}, + Scrollbar: ColorAttr{colUndefined, AttrUndefined}, } Light256 = &ColorTheme{ Colored: true, @@ -602,8 +602,6 @@ func init() { Cursor: ColorAttr{161, AttrUndefined}, Selected: ColorAttr{168, AttrUndefined}, Header: ColorAttr{31, AttrUndefined}, - Separator: ColorAttr{145, AttrUndefined}, - Scrollbar: ColorAttr{145, AttrUndefined}, Border: ColorAttr{145, AttrUndefined}, BorderLabel: ColorAttr{59, AttrUndefined}, Disabled: ColorAttr{colUndefined, AttrUndefined}, @@ -611,6 +609,8 @@ func init() { PreviewBg: ColorAttr{colUndefined, AttrUndefined}, Gutter: ColorAttr{colUndefined, AttrUndefined}, PreviewLabel: ColorAttr{colUndefined, AttrUndefined}, + Separator: ColorAttr{colUndefined, AttrUndefined}, + Scrollbar: ColorAttr{colUndefined, AttrUndefined}, } } @@ -642,7 +642,6 @@ func initTheme(theme *ColorTheme, baseTheme *ColorTheme, forceBlack bool) { theme.Cursor = o(baseTheme.Cursor, theme.Cursor) theme.Selected = o(baseTheme.Selected, theme.Selected) theme.Header = o(baseTheme.Header, theme.Header) - theme.Separator = o(baseTheme.Separator, theme.Separator) theme.Border = o(baseTheme.Border, theme.Border) theme.BorderLabel = o(baseTheme.BorderLabel, theme.BorderLabel) @@ -652,7 +651,8 @@ func initTheme(theme *ColorTheme, baseTheme *ColorTheme, forceBlack bool) { theme.PreviewFg = o(theme.Fg, theme.PreviewFg) theme.PreviewBg = o(theme.Bg, theme.PreviewBg) theme.PreviewLabel = o(theme.BorderLabel, theme.PreviewLabel) - theme.Scrollbar = o(theme.Separator, theme.Scrollbar) + theme.Separator = o(theme.Border, theme.Separator) + theme.Scrollbar = o(theme.Border, theme.Scrollbar) initPalette(theme) }