forked from mutagen-io/mutagen
/
list_monitor_common.go
73 lines (63 loc) · 2.47 KB
/
list_monitor_common.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package main
import (
"fmt"
"github.com/havoc-io/mutagen/pkg/filesystem"
sessionpkg "github.com/havoc-io/mutagen/pkg/session"
"github.com/havoc-io/mutagen/pkg/sync"
)
func printSession(state *sessionpkg.State, long bool) {
// Print the session identifier.
fmt.Println("Session:", state.Session.Identifier)
// Print extended information, if desired.
if long {
// Extract configuration.
configuration := state.Session.Configuration
// Compute and print the VCS ignore mode.
ignoreVCSModeDescription := configuration.IgnoreVCSMode.Description()
if configuration.IgnoreVCSMode == sync.IgnoreVCSMode_IgnoreVCSDefault {
defaultIgnoreVCSMode := state.Session.Version.DefaultIgnoreVCSMode()
ignoreVCSModeDescription += fmt.Sprintf(" (%s)", defaultIgnoreVCSMode.Description())
}
fmt.Println("Ignore VCS mode:", ignoreVCSModeDescription)
// Print default ignores.
if len(configuration.DefaultIgnores) > 0 {
fmt.Println("Default ignores:")
for _, p := range configuration.DefaultIgnores {
fmt.Printf("\t%s\n", p)
}
} else {
fmt.Println("Default ignores: None")
}
// Print per-session ignores.
if len(configuration.Ignores) > 0 {
fmt.Println("Ignores:")
for _, p := range configuration.Ignores {
fmt.Printf("\t%s\n", p)
}
} else {
fmt.Println("Ignores: None")
}
// Compute and print symlink mode.
symlinkModeDescription := configuration.SymlinkMode.Description()
if configuration.SymlinkMode == sync.SymlinkMode_SymlinkDefault {
defaultSymlinkMode := state.Session.Version.DefaultSymlinkMode()
symlinkModeDescription += fmt.Sprintf(" (%s)", defaultSymlinkMode.Description())
}
fmt.Println("Symlink mode:", symlinkModeDescription)
// Compute and print the watch mode.
watchModeDescription := configuration.WatchMode.Description()
if configuration.WatchMode == filesystem.WatchMode_WatchDefault {
defaultWatchMode := state.Session.Version.DefaultWatchMode()
watchModeDescription += fmt.Sprintf(" (%s)", defaultWatchMode.Description())
}
fmt.Println("Watch mode:", watchModeDescription)
// Compute and print the polling interval.
var watchPollingIntervalDescription string
if configuration.WatchPollingInterval == 0 {
watchPollingIntervalDescription = fmt.Sprintf("Default (%d seconds)", filesystem.DefaultPollingInterval)
} else {
watchPollingIntervalDescription = fmt.Sprintf("%d seconds", configuration.WatchPollingInterval)
}
fmt.Println("Watch polling interval:", watchPollingIntervalDescription)
}
}