summaryrefslogtreecommitdiff
path: root/tour.go
diff options
context:
space:
mode:
Diffstat (limited to 'tour.go')
-rw-r--r--tour.go35
1 files changed, 23 insertions, 12 deletions
diff --git a/tour.go b/tour.go
index 328af5e..1f60ee9 100644
--- a/tour.go
+++ b/tour.go
@@ -64,7 +64,9 @@ func TourAdd(state *BrowserState, conf *Config, targets []string) error {
if state.CurrentTour != &state.DefaultTour {
return saveTours(state.NamedTours)
}
- return nil
+
+ state.Modal = []byte(fmt.Sprintf("Added %d urls to the tour\n", len(newurls)))
+ return Print(state)
}
func TourAddNext(state *BrowserState, conf *Config, targets []string) error {
@@ -86,7 +88,9 @@ func TourAddNext(state *BrowserState, conf *Config, targets []string) error {
if state.CurrentTour != &state.DefaultTour {
return saveTours(state.NamedTours)
}
- return nil
+
+ state.Modal = []byte(fmt.Sprintf("Added %d urls to go next on the tour\n", len(newurls)))
+ return Print(state)
}
func TourShow(state *BrowserState) error {
@@ -141,7 +145,9 @@ func TourClear(state *BrowserState) error {
if state.CurrentTour != &state.DefaultTour {
return saveTours(state.NamedTours)
}
- return nil
+
+ state.Modal = []byte("Tour is cleared\n")
+ return Print(state)
}
func TourList(state *BrowserState) error {
@@ -180,24 +186,29 @@ func TourGo(state *BrowserState, conf *Config, pos string) error {
}
func TourSelect(state *BrowserState, name string) error {
- tour, err := findTour(state, name)
- if err == nil {
- state.CurrentTour = tour
+ tourName, tour, err := findTour(state, name)
+ if err != nil {
+ return err
}
- return err
+ state.CurrentTour = tour
+
+ state.Modal = []byte(fmt.Sprintf("Tour %s is now active\n", tourName))
+ return Print(state)
}
-func findTour(state *BrowserState, prefix string) (*Tour, error) {
+func findTour(state *BrowserState, prefix string) (string, *Tour, error) {
if prefix == "" {
- return &state.DefaultTour, nil
+ return "", &state.DefaultTour, nil
}
found := 0
var value *Tour
+ var tourName string
for name, tour := range state.NamedTours {
if strings.HasPrefix(name, prefix) {
found += 1
value = tour
+ tourName = name
}
}
@@ -205,10 +216,10 @@ func findTour(state *BrowserState, prefix string) (*Tour, error) {
case 0:
tour := &Tour{}
state.NamedTours[prefix] = tour
- return tour, nil
+ return "", tour, nil
case 1:
- return value, nil
+ return tourName, value, nil
default:
- return nil, fmt.Errorf("too ambiguous - found %d matching tours", found)
+ return "", nil, fmt.Errorf("too ambiguous - found %d matching tours", found)
}
}