summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcxsu <imcxsu@gmail.com>2020-12-27 22:52:20 +0900
committercxsu <imcxsu@gmail.com>2020-12-27 22:52:20 +0900
commitaadcbcb44356b4393575c99481745d79aee8019a (patch)
treec3a730b9c5b7e72dd89fbe8e1a717a768c24f350
parent3430221adae6ba5ead4859a7260cd9cb343771cf (diff)
Add wrapping tree key
-rw-r--r--Makefile9
-rw-r--r--cmd/root.go6
-rw-r--r--runtime/ui/view/filetree.go14
3 files changed, 22 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 722de75..53ba770 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,7 @@ PWD := ${CURDIR}
PRODUCTION_REGISTRY = docker.io
TEST_IMAGE = busybox:latest
-all: clean build
+all: gofmt clean build
## For CI
@@ -119,13 +119,13 @@ run-podman-large: build
run-ci: build
CI=true $(BUILD_PATH) dive-example:latest --ci-config .data/.dive-ci
-build:
+build: gofmt
go build -o $(BUILD_PATH)
generate-test-data:
docker build -t dive-test:latest -f .data/Dockerfile.test-image . && docker image save -o .data/test-docker-image.tar dive-test:latest && echo 'Exported test data!'
-test:
+test: gofmt
./.scripts/test-coverage.sh
dev:
@@ -135,4 +135,5 @@ clean:
rm -rf dist
go clean
-
+gofmt:
+ go fmt -x ./...
diff --git a/cmd/root.go b/cmd/root.go
index 6f71497..03086b1 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -2,13 +2,14 @@ package cmd
import (
"fmt"
- "github.com/wagoodman/dive/dive"
- "github.com/wagoodman/dive/dive/filetree"
"io/ioutil"
"os"
"path"
"strings"
+ "github.com/wagoodman/dive/dive"
+ "github.com/wagoodman/dive/dive/filetree"
+
"github.com/mitchellh/go-homedir"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
@@ -90,6 +91,7 @@ func initConfig() {
viper.SetDefault("keybinding.toggle-removed-files", "ctrl+r")
viper.SetDefault("keybinding.toggle-modified-files", "ctrl+m")
viper.SetDefault("keybinding.toggle-unmodified-files", "ctrl+u")
+ viper.SetDefault("keybinding.toggle-wrap-tree", "ctrl+p")
viper.SetDefault("keybinding.page-up", "pgup")
viper.SetDefault("keybinding.page-down", "pgdn")
diff --git a/runtime/ui/view/filetree.go b/runtime/ui/view/filetree.go
index 97e6f7b..863dd33 100644
--- a/runtime/ui/view/filetree.go
+++ b/runtime/ui/view/filetree.go
@@ -2,6 +2,8 @@ package view
import (
"fmt"
+ "regexp"
+
"github.com/jroimartin/gocui"
"github.com/sirupsen/logrus"
"github.com/spf13/viper"
@@ -10,7 +12,6 @@ import (
"github.com/wagoodman/dive/runtime/ui/key"
"github.com/wagoodman/dive/runtime/ui/viewmodel"
"github.com/wagoodman/dive/utils"
- "regexp"
)
type ViewOptionChangeListener func() error
@@ -127,6 +128,12 @@ func (v *FileTree) Setup(view *gocui.View, header *gocui.View) error {
Display: "Attributes",
},
{
+ ConfigKeys: []string{"keybinding.toggle-wrap-tree"},
+ OnAction: v.toggleWrapTree,
+ IsSelected: func() bool { return v.view.Wrap },
+ Display: "Wrap",
+ },
+ {
ConfigKeys: []string{"keybinding.page-up"},
OnAction: v.PageUp,
},
@@ -280,6 +287,11 @@ func (v *FileTree) toggleCollapseAll() error {
return v.Render()
}
+func (v *FileTree) toggleWrapTree() error {
+ v.view.Wrap = !v.view.Wrap
+ return nil
+}
+
func (v *FileTree) notifyOnViewOptionChangeListeners() error {
for _, listener := range v.listeners {
err := listener()