From e8c6bcadb6b292a880cb1e9c566a41585d1006d5 Mon Sep 17 00:00:00 2001 From: Joel Kappes Date: Thu, 21 Mar 2024 09:31:11 +0100 Subject: [PATCH 1/2] add option to draw outer corners rounded --- doc.md | 5 +++++ doc.txt | 5 +++++ eval.go | 2 ++ lf.1 | 6 +++++- opts.go | 2 ++ ui.go | 15 +++++++++++---- 6 files changed, 30 insertions(+), 5 deletions(-) diff --git a/doc.md b/doc.md index 92dee461..702b3305 100644 --- a/doc.md +++ b/doc.md @@ -180,6 +180,7 @@ The following options can be used to customize the behavior of lf: ratios []int (default '1:2:3') relativenumber bool (default false) reverse bool (default false) + roundbox bool (default false) ruler []string (default 'acc:progress:selection:filter:ind') rulerfmt string (default " %a| %p| \033[7;31m %m \033[0m| \033[7;33m %c \033[0m| \033[7;35m %s \033[0m| \033[7;34m %f \033[0m| %i/%t") scrolloff int (default 0) @@ -884,6 +885,10 @@ When `number` is enabled, the current line shows the absolute position, otherwis Reverse the direction of sort. +## roundbox (bool) (default false) + +Draw rounded outer corners when the `drawbox` option is enabled. + ## ruler ([]string) (default `acc:progress:selection:filter:ind`) This option is deprecated in favor of using the `rulerfmt` option (see below). diff --git a/doc.txt b/doc.txt index f932ec11..2482f66c 100644 --- a/doc.txt +++ b/doc.txt @@ -170,6 +170,7 @@ The following options can be used to customize the behavior of lf: ratios []int (default '1:2:3') relativenumber bool (default false) reverse bool (default false) + roundbox bool (default false) ruler []string (default 'acc:progress:selection:filter:ind') rulerfmt string (default " %a| %p| \033[7;31m %m \033[0m| \033[7;33m %c \033[0m| \033[7;35m %s \033[0m| \033[7;34m %f \033[0m| %i/%t") scrolloff int (default 0) @@ -953,6 +954,10 @@ reverse (bool) (default false) Reverse the direction of sort. +roundbox (bool) (default false) + +Draw rounded outer corners when the drawbox option is enabled. + ruler ([]string) (default acc:progress:selection:filter:ind) This option is deprecated in favor of using the rulerfmt option (see diff --git a/eval.go b/eval.go index a406c32b..013f7495 100644 --- a/eval.go +++ b/eval.go @@ -167,6 +167,8 @@ func (e *setExpr) eval(app *app, args []string) { app.nav.sort() app.ui.sort() } + case "roundbox", "noroundbox", "roundbox!": + err = applyBoolOpt(&gOpts.roundbox, e) case "sixel", "nosixel", "sixel!": err = applyBoolOpt(&gOpts.sixel, e) case "smartcase", "nosmartcase", "smartcase!": diff --git a/lf.1 b/lf.1 index 73ee3df3..a8685ee2 100644 --- a/lf.1 +++ b/lf.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 2.11.4 .\" -.TH "LF" "1" "2024-02-02" "" "DOCUMENTATION" +.TH "LF" "1" "2024-03-21" "r31-57-g4b076d1" "DOCUMENTATION" .hy .SH NAME .PP @@ -188,6 +188,7 @@ promptfmt string (default \[dq]\[rs]033[32;1m%u\[at]%h\[rs]033[0m:\ ratios []int (default \[aq]1:2:3\[aq]) relativenumber bool (default false) reverse bool (default false) +roundbox bool (default false) ruler []string (default \[aq]acc:progress:selection:filter:ind\[aq]) rulerfmt string (default \[dq] %a| %p| \[rs]033[7;31m %m \[rs]033[0m| \[rs]033[7;33m %c \[rs]033[0m| \[rs]033[7;35m %s \[rs]033[0m| \[rs]033[7;34m %f \[rs]033[0m| %i/%t\[dq]) scrolloff int (default 0) @@ -969,6 +970,9 @@ position, otherwise nothing is shown. .SS reverse (bool) (default false) .PP Reverse the direction of sort. +.SS roundbox (bool) (default false) +.PP +Draw rounded outer corners when the \f[C]drawbox\f[R] option is enabled. .SS ruler ([]string) (default \f[C]acc:progress:selection:filter:ind\f[R]) .PP This option is deprecated in favor of using the \f[C]rulerfmt\f[R] diff --git a/opts.go b/opts.go index fc211e05..649376a5 100644 --- a/opts.go +++ b/opts.go @@ -58,6 +58,7 @@ var gOpts struct { preview bool relativenumber bool reverse bool + roundbox bool selectfmt string sixel bool sortby sortMethod @@ -203,6 +204,7 @@ func init() { gOpts.preview = true gOpts.relativenumber = false gOpts.reverse = false + gOpts.roundbox = false gOpts.selectfmt = "\033[7;35m" gOpts.sixel = false gOpts.sortby = naturalSort diff --git a/ui.go b/ui.go index 10c0f90e..64be7167 100644 --- a/ui.go +++ b/ui.go @@ -980,10 +980,17 @@ func (ui *ui) drawBox() { ui.screen.SetContent(w-1, i, tcell.RuneVLine, nil, st) } - ui.screen.SetContent(0, 1, tcell.RuneULCorner, nil, st) - ui.screen.SetContent(w-1, 1, tcell.RuneURCorner, nil, st) - ui.screen.SetContent(0, h-2, tcell.RuneLLCorner, nil, st) - ui.screen.SetContent(w-1, h-2, tcell.RuneLRCorner, nil, st) + if gOpts.roundbox { + ui.screen.SetContent(0, 1, '╭' , nil, st) + ui.screen.SetContent(w-1, 1, '╮', nil, st) + ui.screen.SetContent(0, h-2, '╰', nil, st) + ui.screen.SetContent(w-1, h-2, '╯', nil, st) + } else { + ui.screen.SetContent(0, 1, tcell.RuneULCorner, nil, st) + ui.screen.SetContent(w-1, 1, tcell.RuneURCorner, nil, st) + ui.screen.SetContent(0, h-2, tcell.RuneLLCorner, nil, st) + ui.screen.SetContent(w-1, h-2, tcell.RuneLRCorner, nil, st) + } wacc := 0 for wind := 0; wind < len(ui.wins)-1; wind++ { From 70c2de5b7cfd1172f7e4bbe8b6002ddf3258759d Mon Sep 17 00:00:00 2001 From: Joel Kappes Date: Thu, 21 Mar 2024 10:23:08 +0100 Subject: [PATCH 2/2] gofmt --- ui.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui.go b/ui.go index 64be7167..5aabf66f 100644 --- a/ui.go +++ b/ui.go @@ -981,7 +981,7 @@ func (ui *ui) drawBox() { } if gOpts.roundbox { - ui.screen.SetContent(0, 1, '╭' , nil, st) + ui.screen.SetContent(0, 1, '╭', nil, st) ui.screen.SetContent(w-1, 1, '╮', nil, st) ui.screen.SetContent(0, h-2, '╰', nil, st) ui.screen.SetContent(w-1, h-2, '╯', nil, st)