Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package fzf for openSUSE:Factory checked in at 2023-06-16 16:53:16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/fzf (Old) and /work/SRC/openSUSE:Factory/.fzf.new.15902 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fzf" Fri Jun 16 16:53:16 2023 rev:36 rq:1093151 version:0.42.0 Changes: -------- --- /work/SRC/openSUSE:Factory/fzf/fzf.changes 2023-06-11 19:57:25.899938136 +0200 +++ /work/SRC/openSUSE:Factory/.fzf.new.15902/fzf.changes 2023-06-16 16:54:10.749469178 +0200 @@ -1,0 +2,10 @@ +Wed Jun 14 15:50:14 UTC 2023 - Joshua Smith <jsmith...@gmail.com> + +- Update to version 0.42.0: + * Added new info style: --info=right + * Added new info style: --info=inline-right + * Added new border style thinblock which uses Symbols for Legacy + Computing one eighth block elements + * Removed fix-go-test.patch that is no longer needed. + +------------------------------------------------------------------- Old: ---- fix-go-test.patch fzf-0.41.1.tar.gz New: ---- fzf-0.42.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ fzf.spec ++++++ --- /var/tmp/diff_new_pack.7BmILH/_old 2023-06-16 16:54:11.533473840 +0200 +++ /var/tmp/diff_new_pack.7BmILH/_new 2023-06-16 16:54:11.537473864 +0200 @@ -18,7 +18,7 @@ %global _lto_cflags %{nil} Name: fzf -Version: 0.41.1 +Version: 0.42.0 Release: 0 Summary: A command-line fuzzy finder License: MIT @@ -26,7 +26,6 @@ URL: https://github.com/junegunn/fzf Source0: https://github.com/junegunn/fzf/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz Source1: vendor.tar.zst -Patch0: fix-go-test.patch BuildRequires: zstd BuildRequires: golang(API) >= 1.19 ++++++ fzf-0.41.1.tar.gz -> fzf-0.42.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/CHANGELOG.md new/fzf-0.42.0/CHANGELOG.md --- old/fzf-0.41.1/CHANGELOG.md 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/CHANGELOG.md 2023-06-14 17:37:41.000000000 +0200 @@ -1,6 +1,22 @@ CHANGELOG ========= +0.42.0 +------ +- Added new info style: `--info=right` +- Added new info style: `--info=inline-right` +- Added new border style `thinblock` which uses symbols for legacy computing + [one eighth block elements](https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing) + - Similarly to `block`, this style is suitable when using a different + background color because the window is completely contained within the border. + ```sh + BAT_THEME=GitHub fzf --info=right --border=thinblock --preview-window=border-thinblock \ + --margin=3 --scrollbar=ââ --preview='bat --color=always --style=numbers {}' \ + --color=light,query:238,fg:238,bg:251,bg+:249,gutter:251,border:248,preview-bg:253 + ``` + - This style may not render correctly depending on the font and the + terminal emulator. + 0.41.1 ------ - Fixed a bug where preview window is not updated when `--disabled` is set and diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/bin/fzf-tmux new/fzf-0.42.0/bin/fzf-tmux --- old/fzf-0.41.1/bin/fzf-tmux 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/bin/fzf-tmux 2023-06-14 17:37:41.000000000 +0200 @@ -192,6 +192,7 @@ fi [[ -n "$FZF_DEFAULT_OPTS" ]] && envs="$envs FZF_DEFAULT_OPTS=$(printf %q "$FZF_DEFAULT_OPTS")" [[ -n "$FZF_DEFAULT_COMMAND" ]] && envs="$envs FZF_DEFAULT_COMMAND=$(printf %q "$FZF_DEFAULT_COMMAND")" +[[ -n "$BAT_THEME" ]] && envs="$envs BAT_THEME=$(printf %q "$BAT_THEME")" echo "$envs;" > "$argsf" # Build arguments to fzf diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/install new/fzf-0.42.0/install --- old/fzf-0.41.1/install 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/install 2023-06-14 17:37:41.000000000 +0200 @@ -2,7 +2,7 @@ set -u -version=0.41.1 +version=0.42.0 auto_completion= key_bindings= update_config=2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/install.ps1 new/fzf-0.42.0/install.ps1 --- old/fzf-0.41.1/install.ps1 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/install.ps1 2023-06-14 17:37:41.000000000 +0200 @@ -1,4 +1,4 @@ -$version="0.41.1" +$version="0.42.0" $fzf_base=Split-Path -Parent $MyInvocation.MyCommand.Definition diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/main.go new/fzf-0.42.0/main.go --- old/fzf-0.41.1/main.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/main.go 2023-06-14 17:37:41.000000000 +0200 @@ -5,7 +5,7 @@ "github.com/junegunn/fzf/src/protector" ) -var version string = "0.41" +var version string = "0.42" var revision string = "devel" func main() { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/man/man1/fzf-tmux.1 new/fzf-0.42.0/man/man1/fzf-tmux.1 --- old/fzf-0.41.1/man/man1/fzf-tmux.1 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/man/man1/fzf-tmux.1 2023-06-14 17:37:41.000000000 +0200 @@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. -.TH fzf-tmux 1 "May 2023" "fzf 0.41.1" "fzf-tmux - open fzf in tmux split pane" +.TH fzf-tmux 1 "Jun 2023" "fzf 0.42.0" "fzf-tmux - open fzf in tmux split pane" .SH NAME fzf-tmux - open fzf in tmux split pane diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/man/man1/fzf.1 new/fzf-0.42.0/man/man1/fzf.1 --- old/fzf-0.41.1/man/man1/fzf.1 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/man/man1/fzf.1 2023-06-14 17:37:41.000000000 +0200 @@ -21,7 +21,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. -.TH fzf 1 "May 2023" "fzf 0.41.1" "fzf - a command-line fuzzy finder" +.TH fzf 1 "Jun 2023" "fzf 0.42.0" "fzf - a command-line fuzzy finder" .SH NAME fzf - a command-line fuzzy finder @@ -228,6 +228,10 @@ .br .BR double " Border with double lines" .br +.BR block " Border using block elements; suitable when using different background colors" +.br +.BR thinblock " Border using legacy computing symbols; may not be displayed on some terminals" +.br .BR horizontal " Horizontal lines above and below the finder" .br .BR vertical " Vertical lines on each side of the finder" @@ -357,6 +361,8 @@ .br .BR inline:SEPARATOR " Display on the same line with a non-default separator" .br +.BR inline-right " Display on the right end of the same line +.br .BR hidden " Do not display finder info" .br @@ -599,6 +605,10 @@ .br .B * border-double .br +.B * border-block +.br +.B * border-thinblock +.br .B * border-horizontal .br .B * border-top diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/plugin/fzf.vim new/fzf-0.42.0/plugin/fzf.vim --- old/fzf-0.41.1/plugin/fzf.vim 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/plugin/fzf.vim 2023-06-14 17:37:41.000000000 +0200 @@ -456,6 +456,30 @@ endif endfunction +function! s:extract_option(opts, name) + let opt = '' + let expect = 0 + " There are a few cases where this function doesn't work as expected. + " Let's just assume such cases are extremely unlikely in real world. + " e.g. --query --border + for word in split(a:opts) + if expect && word !~ '^"\=-' + let opt = opt . ' ' . word + let expect = 0 + elseif word == '--no-'.a:name + let opt = '' + elseif word =~ '^--'.a:name.'=' + let opt = word + elseif word =~ '^--'.a:name.'$' + let opt = word + let expect = 1 + elseif expect + let expect = 0 + endif + endfor + return opt +endfunction + function! fzf#run(...) abort try let [shell, shellslash, shellcmdflag, shellxquote] = s:use_sh() @@ -511,8 +535,8 @@ let height = s:calc_size(&lines, dict.down, dict) let optstr .= ' --height='.height endif - " Respect --border option given in 'options' - let optstr = join([s:border_opt(get(dict, 'window', 0)), optstr]) + " Respect --border option given in $FZF_DEFAULT_OPTS and 'options' + let optstr = join([s:border_opt(get(dict, 'window', 0)), s:extract_option($FZF_DEFAULT_OPTS, 'border'), optstr]) let prev_default_command = $FZF_DEFAULT_COMMAND if len(source_command) let $FZF_DEFAULT_COMMAND = source_command diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/merger_test.go new/fzf-0.42.0/src/merger_test.go --- old/fzf-0.41.1/src/merger_test.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/merger_test.go 2023-06-14 17:37:41.000000000 +0200 @@ -23,10 +23,10 @@ } func TestEmptyMerger(t *testing.T) { - assert(t, EmptyMerger.Length() == 0, "Not empty") - assert(t, EmptyMerger.count == 0, "Invalid count") - assert(t, len(EmptyMerger.lists) == 0, "Invalid lists") - assert(t, len(EmptyMerger.merged) == 0, "Invalid merged list") + assert(t, EmptyMerger(0).Length() == 0, "Not empty") + assert(t, EmptyMerger(0).count == 0, "Invalid count") + assert(t, len(EmptyMerger(0).lists) == 0, "Invalid lists") + assert(t, len(EmptyMerger(0).merged) == 0, "Invalid merged list") } func buildLists(partiallySorted bool) ([][]Result, []Result) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/options.go new/fzf-0.42.0/src/options.go --- old/fzf-0.41.1/src/options.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/options.go 2023-06-14 17:37:41.000000000 +0200 @@ -63,7 +63,7 @@ (default: 10) --layout=LAYOUT Choose layout: [default|reverse|reverse-list] --border[=STYLE] Draw border around the finder - [rounded|sharp|bold|block|double|horizontal|vertical| + [rounded|sharp|bold|block|thinblock|double|horizontal|vertical| top|bottom|left|right|none] (default: rounded) --border-label=LABEL Label to print on the border --border-label-pos=COL Position of the border label @@ -72,7 +72,8 @@ (default: 0 or center) --margin=MARGIN Screen margin (TRBL | TB,RL | T,RL,B | T,R,B,L) --padding=PADDING Padding inside border (TRBL | TB,RL | T,RL,B | T,R,B,L) - --info=STYLE Finder info style [default|hidden|inline|inline:SEPARATOR] + --info=STYLE Finder info style + [default|right|hidden|inline[:SEPARATOR]|inline-right] --separator=STR String to form horizontal separator on info line --no-separator Hide info line separator --scrollbar[=C1[C2]] Scrollbar character(s) (each for main and preview window) @@ -194,10 +195,16 @@ const ( infoDefault infoStyle = iota + infoRight infoInline + infoInlineRight infoHidden ) +func (s infoStyle) noExtraLine() bool { + return s == infoInline || s == infoInlineRight || s == infoHidden +} + type labelOpts struct { label string column int @@ -546,6 +553,8 @@ return tui.BorderBold case "block": return tui.BorderBlock + case "thinblock": + return tui.BorderThinBlock case "double": return tui.BorderDouble case "horizontal": @@ -566,7 +575,7 @@ if optional && str == "" { return tui.DefaultBorderShape } - errorExit("invalid border style (expected: rounded|sharp|bold|block|double|horizontal|vertical|top|bottom|left|right|none)") + errorExit("invalid border style (expected: rounded|sharp|bold|block|thinblock|double|horizontal|vertical|top|bottom|left|right|none)") } return tui.BorderNone } @@ -1374,8 +1383,12 @@ switch str { case "default": return infoDefault, "" + case "right": + return infoRight, "" case "inline": return infoInline, defaultInfoSep + case "inline-right": + return infoInlineRight, "" case "hidden": return infoHidden, "" default: @@ -1383,7 +1396,7 @@ if strings.HasPrefix(str, prefix) { return infoInline, strings.ReplaceAll(str[len(prefix):], "\n", " ") } - errorExit("invalid info style (expected: default|hidden|inline|inline:SEPARATOR)") + errorExit("invalid info style (expected: default|right|hidden|inline[:SEPARATOR]|inline-right)") } return infoDefault, "" } @@ -1438,6 +1451,8 @@ opts.border = tui.BorderBold case "border-block": opts.border = tui.BorderBlock + case "border-thinblock": + opts.border = tui.BorderThinBlock case "border-double": opts.border = tui.BorderDouble case "noborder", "border-none": diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/terminal.go new/fzf-0.42.0/src/terminal.go --- old/fzf-0.41.1/src/terminal.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/terminal.go 2023-06-14 17:37:41.000000000 +0200 @@ -565,7 +565,7 @@ if previewBox != nil && opts.Preview.aboveOrBelow() { effectiveMinHeight += 1 + borderLines(opts.Preview.border) } - if opts.InfoStyle != infoDefault { + if opts.InfoStyle.noExtraLine() { effectiveMinHeight-- } effectiveMinHeight += borderLines(opts.BorderShape) @@ -727,7 +727,7 @@ func borderLines(shape tui.BorderShape) int { switch shape { - case tui.BorderHorizontal, tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderDouble: + case tui.BorderHorizontal, tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderThinBlock, tui.BorderDouble: return 2 case tui.BorderTop, tui.BorderBottom: return 1 @@ -845,7 +845,7 @@ } func (t *Terminal) noInfoLine() bool { - return t.infoStyle != infoDefault + return t.infoStyle.noExtraLine() } func getScrollbar(total int, height int, offset int) (int, int) { @@ -1085,7 +1085,7 @@ if idx == 3 { extraMargin[idx] += 1 + bw } - case tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderDouble: + case tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderThinBlock, tui.BorderDouble: extraMargin[idx] += 1 + bw*(idx%2) } marginInt[idx] = sizeSpecToInt(idx, sizeSpec) + extraMargin[idx] @@ -1178,7 +1178,7 @@ t.border = t.tui.NewWindow( marginInt[0], marginInt[3], width+(1+bw), height, false, tui.MakeBorderStyle(tui.BorderRight, t.unicode)) - case tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderDouble: + case tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderThinBlock, tui.BorderDouble: t.border = t.tui.NewWindow( marginInt[0]-1, marginInt[3]-(1+bw), width+(1+bw)*2, height+2, false, tui.MakeBorderStyle(t.borderShape, t.unicode)) @@ -1212,7 +1212,7 @@ } t.pborder = t.tui.NewWindow(y, x, w, h, true, previewBorder) switch previewOpts.border { - case tui.BorderSharp, tui.BorderRounded, tui.BorderBold, tui.BorderBlock, tui.BorderDouble: + case tui.BorderSharp, tui.BorderRounded, tui.BorderBold, tui.BorderBlock, tui.BorderThinBlock, tui.BorderDouble: pwidth -= (1 + bw) * 2 pheight -= 2 x += 1 + bw @@ -1356,7 +1356,7 @@ } switch borderShape { - case tui.BorderHorizontal, tui.BorderTop, tui.BorderBottom, tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderDouble: + case tui.BorderHorizontal, tui.BorderTop, tui.BorderBottom, tui.BorderRounded, tui.BorderSharp, tui.BorderBold, tui.BorderBlock, tui.BorderThinBlock, tui.BorderDouble: if redrawBorder { window.DrawHBorder() } @@ -1464,9 +1464,7 @@ func (t *Terminal) printInfo() { pos := 0 line := t.promptLine() - switch t.infoStyle { - case infoDefault: - t.move(line+1, 0, t.separatorLen == 0) + printSpinner := func() { if t.reading { duration := int64(spinnerDuration) idx := (time.Now().UnixNano() % (duration * int64(len(t.spinner)))) / duration @@ -1474,8 +1472,18 @@ } else { t.window.Print(" ") // Clear spinner } + } + switch t.infoStyle { + case infoDefault: + t.move(line+1, 0, t.separatorLen == 0) + printSpinner() t.move(line+1, 2, false) pos = 2 + case infoRight: + t.move(line+1, 0, false) + case infoInlineRight: + pos = t.promptLen + t.queryLen[0] + t.queryLen[1] + 1 + t.move(line, pos, true) case infoInline: pos = t.promptLen + t.queryLen[0] + t.queryLen[1] + 1 str := t.infoSep @@ -1523,14 +1531,55 @@ if t.failed != nil && t.count == 0 { output = fmt.Sprintf("[Command failed: %s]", *t.failed) } + + printSeparator := func(fillLength int, pad bool) { + // --------_ + if t.separatorLen > 0 { + t.separator(t.window, fillLength) + t.window.Print(" ") + } else if pad { + t.window.Print(strings.Repeat(" ", fillLength+1)) + } + } + if t.infoStyle == infoRight { + maxWidth := t.window.Width() + if t.reading { + // Need space for spinner and a margin column + maxWidth -= 2 + } + output = t.trimMessage(output, maxWidth) + fillLength := t.window.Width() - len(output) - 2 + if t.reading { + if fillLength >= 2 { + printSeparator(fillLength-2, true) + } + printSpinner() + t.window.Print(" ") + } else if fillLength >= 0 { + printSeparator(fillLength, true) + } + t.window.CPrint(tui.ColInfo, output) + return + } + + if t.infoStyle == infoInlineRight { + pos = util.Max(pos, t.window.Width()-util.StringWidth(output)-3) + if pos >= t.window.Width() { + return + } + t.move(line, pos, false) + printSpinner() + t.window.Print(" ") + pos += 2 + } + maxWidth := t.window.Width() - pos output = t.trimMessage(output, maxWidth) t.window.CPrint(tui.ColInfo, output) - fillLength := maxWidth - len(output) - 2 - if t.separatorLen > 0 && fillLength > 0 { + if fillLength > 0 { t.window.CPrint(tui.ColSeparator, " ") - t.separator(t.window, fillLength) + printSeparator(fillLength, false) } } @@ -1823,7 +1872,7 @@ if !t.previewer.scrollable { if maxWidth > 0 { t.pwindow.Move(0, maxWidth-1) - t.pwindow.CPrint(tui.ColSpinner, spin) + t.pwindow.CPrint(tui.ColPreviewSpinner, spin) } } else { offsetString := fmt.Sprintf("%d/%d", t.previewer.offset+1, numLines) @@ -1835,7 +1884,7 @@ pos := maxWidth - t.displayWidth(offsetRunes) t.pwindow.Move(0, pos) if maxWidth > 0 { - t.pwindow.CPrint(tui.ColSpinner, spin) + t.pwindow.CPrint(tui.ColPreviewSpinner, spin) t.pwindow.CPrint(tui.ColInfo.WithAttr(tui.Reverse), string(offsetRunes)) } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/tui/light.go new/fzf-0.42.0/src/tui/light.go --- old/fzf-0.41.1/src/tui/light.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/tui/light.go 2023-06-14 17:37:41.000000000 +0200 @@ -757,7 +757,7 @@ func (w *LightWindow) drawBorder(onlyHorizontal bool) { switch w.border.shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble: w.drawBorderAround(onlyHorizontal) case BorderHorizontal: w.drawBorderHorizontal(true, true) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/tui/tcell.go new/fzf-0.42.0/src/tui/tcell.go --- old/fzf-0.41.1/src/tui/tcell.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/tui/tcell.go 2023-06-14 17:37:41.000000000 +0200 @@ -715,7 +715,7 @@ hw := runewidth.RuneWidth(w.borderStyle.top) switch shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble, BorderHorizontal, BorderTop: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble, BorderHorizontal, BorderTop: max := right - 2*hw if shape == BorderHorizontal || shape == BorderTop { max = right - hw @@ -730,7 +730,7 @@ } } switch shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble, BorderHorizontal, BorderBottom: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble, BorderHorizontal, BorderBottom: max := right - 2*hw if shape == BorderHorizontal || shape == BorderBottom { max = right - hw @@ -741,13 +741,13 @@ } if !onlyHorizontal { switch shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble, BorderVertical, BorderLeft: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble, BorderVertical, BorderLeft: for y := top; y < bot; y++ { _screen.SetContent(left, y, w.borderStyle.left, nil, style) } } switch shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble, BorderVertical, BorderRight: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble, BorderVertical, BorderRight: vw := runewidth.RuneWidth(w.borderStyle.right) for y := top; y < bot; y++ { _screen.SetContent(right-vw, y, w.borderStyle.right, nil, style) @@ -755,7 +755,7 @@ } } switch shape { - case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderDouble: + case BorderRounded, BorderSharp, BorderBold, BorderBlock, BorderThinBlock, BorderDouble: _screen.SetContent(left, top, w.borderStyle.topLeft, nil, style) _screen.SetContent(right-runewidth.RuneWidth(w.borderStyle.topRight), top, w.borderStyle.topRight, nil, style) _screen.SetContent(left, bot-1, w.borderStyle.bottomLeft, nil, style) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/src/tui/tui.go new/fzf-0.42.0/src/tui/tui.go --- old/fzf-0.41.1/src/tui/tui.go 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/src/tui/tui.go 2023-06-14 17:37:41.000000000 +0200 @@ -315,6 +315,7 @@ BorderSharp BorderBold BorderBlock + BorderThinBlock BorderDouble BorderHorizontal BorderVertical @@ -408,6 +409,23 @@ bottomLeft: 'â', bottomRight: 'â', } + + case BorderThinBlock: + // ð½ââââââââââââââââââð¾ + // â â + // ð¼ââââââââââââââââââð¿ + return BorderStyle{ + shape: shape, + top: 'â', + bottom: 'â', + left: 'â', + right: 'â', + topLeft: 'ð½', + topRight: 'ð¾', + bottomLeft: 'ð¼', + bottomRight: 'ð¿', + } + case BorderDouble: return BorderStyle{ shape: shape, @@ -538,6 +556,7 @@ ColBorderLabel ColorPair ColPreviewLabel ColorPair ColPreviewScrollbar ColorPair + ColPreviewSpinner ColorPair ) func EmptyTheme() *ColorTheme { @@ -769,4 +788,5 @@ ColPreview = pair(theme.PreviewFg, theme.PreviewBg) ColPreviewBorder = pair(theme.PreviewBorder, theme.PreviewBg) ColPreviewScrollbar = pair(theme.PreviewScrollbar, theme.PreviewBg) + ColPreviewSpinner = pair(theme.Spinner, theme.PreviewBg) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/fzf-0.41.1/test/test_go.rb new/fzf-0.42.0/test/test_go.rb --- old/fzf-0.41.1/test/test_go.rb 2023-05-27 08:54:22.000000000 +0200 +++ new/fzf-0.42.0/test/test_go.rb 2023-06-14 17:37:41.000000000 +0200 @@ -2707,6 +2707,16 @@ tmux.until { assert(_1[-2] == ' 1/100') } end + def test_info_right + tmux.send_keys "#{FZF} --info=right --separator x --bind 'start:reload:seq 100; sleep 10'", :Enter + tmux.until { assert_match(%r{xxx [â â ⠹⠸⠼⠴⠦⠧â â ] 100/100}, _1[-2]) } + end + + def test_info_inline_right + tmux.send_keys "#{FZF} --info=inline-right --bind 'start:reload:seq 100; sleep 10'", :Enter + tmux.until { assert_match(%r{[â â ⠹⠸⠼⠴⠦⠧â â ] 100/100}, _1[-1]) } + end + def test_prev_next_selected tmux.send_keys 'seq 10 | fzf --multi --bind ctrl-n:next-selected,ctrl-p:prev-selected', :Enter tmux.until { |lines| assert_equal 10, lines.item_count } ++++++ vendor.tar.zst ++++++ Binary files /var/tmp/diff_new_pack.7BmILH/_old and /var/tmp/diff_new_pack.7BmILH/_new differ