From e24299239ee2b38ab93b7c57932c3ac765f596b3 Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Fri, 15 Nov 2019 11:37:52 +0900 Subject: Add `--preview-window noborder` option to disable preview border Close #1699 --- src/options.go | 8 +++++++- src/terminal.go | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/options.go b/src/options.go index fe0d06d3..26c67e8e 100644 --- a/src/options.go +++ b/src/options.go @@ -156,6 +156,7 @@ type previewOpts struct { size sizeSpec hidden bool wrap bool + border bool } // Options stores the values of command-line options @@ -248,7 +249,7 @@ func defaultOptions() *Options { ToggleSort: false, Expect: make(map[int]string), Keymap: make(map[int][]action), - Preview: previewOpts{"", posRight, sizeSpec{50, true}, false, false}, + Preview: previewOpts{"", posRight, sizeSpec{50, true}, false, false, true}, PrintQuery: false, ReadZero: false, Printer: func(str string) { fmt.Println(str) }, @@ -937,6 +938,7 @@ func parsePreviewWindow(opts *previewOpts, input string) { sizeRegex := regexp.MustCompile("^[0-9]+%?$") for _, token := range tokens { switch token { + case "": case "hidden": opts.hidden = true case "wrap": @@ -949,6 +951,10 @@ func parsePreviewWindow(opts *previewOpts, input string) { opts.position = posLeft case "right": opts.position = posRight + case "border": + opts.border = true + case "noborder": + opts.border = false default: if sizeRegex.MatchString(token) { opts.size = parseSize(token, 99, "window size") diff --git a/src/terminal.go b/src/terminal.go index 0b812ccc..13b932e5 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -624,7 +624,11 @@ func (t *Terminal) resizeWindows() { noBorder := tui.MakeBorderStyle(tui.BorderNone, t.unicode) if previewVisible { createPreviewWindow := func(y int, x int, w int, h int) { - t.pborder = t.tui.NewWindow(y, x, w, h, tui.MakeBorderStyle(tui.BorderAround, t.unicode)) + previewBorder := noBorder + if t.preview.border { + previewBorder = tui.MakeBorderStyle(tui.BorderAround, t.unicode) + } + t.pborder = t.tui.NewWindow(y, x, w, h, previewBorder) pwidth := w - 4 // ncurses auto-wraps the line when the cursor reaches the right-end of // the window. To prevent unintended line-wraps, we use the width one -- cgit v1.2.3