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
|
diff --git a/internal/ssh/wish.go b/internal/ssh/wish.go
index 89fd6ef63875ca728bd02a35aa741abc2cf73486..7f4ae5943ee758a2cbc0a63ec1fdc32bedd66cc5 100644
--- a/internal/ssh/wish.go
+++ b/internal/ssh/wish.go
@@ -8,6 +8,7 @@ "io/fs"
"os"
"path/filepath"
"strings"
+ "text/tabwriter"
"go.jolheiser.com/ugit/internal/git"
@@ -104,10 +105,22 @@ des, err := os.ReadDir(repoDir)
if err != nil && err != fs.ErrNotExist {
log.Error("invalid repository", "error", err)
}
+ tw := tabwriter.NewWriter(s, 0, 0, 1, ' ', 0)
for _, de := range des {
- fmt.Fprintln(s, de.Name())
- fmt.Fprintf(s, "\tgit clone %s/%s\n", cloneURL, de.Name())
+ if filepath.Ext(de.Name()) != ".git" {
+ continue
+ }
+ repo, err := git.NewRepo(repoDir, de.Name())
+ visibility := "❓"
+ if err == nil {
+ visibility = "🔓"
+ if repo.Meta.Private {
+ visibility = "🔒"
+ }
+ }
+ fmt.Fprintf(tw, "%[1]s\t%[3]s\t%[2]s/%[1]s.git\n", strings.TrimSuffix(de.Name(), ".git"), cloneURL, visibility)
}
+ tw.Flush()
}
sh(s)
}
|