From b5d612e6d60200d3338c968e2ac7e0c2ff41de8f Mon Sep 17 00:00:00 2001 From: yk-kd <11691713+yk-kd@users.noreply.github.com> Date: Sat, 18 Mar 2023 09:23:31 +0900 Subject: [PATCH] Add border config (#2344) Co-authored-by: yk-kd --- docs/Config.md | 1 + pkg/config/user_config.go | 2 ++ pkg/gui/views.go | 11 +++++++++++ 3 files changed, 14 insertions(+) diff --git a/docs/Config.md b/docs/Config.md index 4e1229815..c02db15ee 100644 --- a/docs/Config.md +++ b/docs/Config.md @@ -63,6 +63,7 @@ gui: commandLogSize: 8 splitDiff: 'auto' # one of 'auto' | 'always' skipRewordInEditorWarning: false # for skipping the confirmation before launching the reword editor + border: 'single' # one of 'single' | 'double' | 'rounded' | 'hidden' git: paging: colorArg: always diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go index a4fc71579..ce2f7fbd8 100644 --- a/pkg/config/user_config.go +++ b/pkg/config/user_config.go @@ -52,6 +52,7 @@ type GuiConfig struct { SplitDiff string `yaml:"splitDiff"` SkipRewordInEditorWarning bool `yaml:"skipRewordInEditorWarning"` WindowSize string `yaml:"windowSize"` + Border string `yaml:"border"` } type ThemeConfig struct { @@ -382,6 +383,7 @@ func GetDefaultConfig() *UserConfig { CommandLogSize: 8, SplitDiff: "auto", SkipRewordInEditorWarning: false, + Border: "single", }, Git: GitConfig{ Paging: PagingConfig{ diff --git a/pkg/gui/views.go b/pkg/gui/views.go index 987a42b86..ce7b5b89a 100644 --- a/pkg/gui/views.go +++ b/pkg/gui/views.go @@ -114,12 +114,23 @@ func (gui *Gui) windowForView(viewName string) string { } func (gui *Gui) createAllViews() error { + frameRunes := []rune{'─', '│', '┌', '┐', '└', '┘'} + switch gui.c.UserConfig.Gui.Border { + case "double": + frameRunes = []rune{'═', '║', '╔', '╗', '╚', '╝'} + case "rounded": + frameRunes = []rune{'─', '│', '╭', '╮', '╰', '╯'} + case "hidden": + frameRunes = []rune{' ', ' ', ' ', ' ', ' ', ' '} + } + var err error for _, mapping := range gui.orderedViewNameMappings() { *mapping.viewPtr, err = gui.prepareView(mapping.name) if err != nil && !gocui.IsUnknownView(err) { return err } + (*mapping.viewPtr).FrameRunes = frameRunes } gui.Views.Options.FgColor = theme.OptionsColor