feat(core,cli): implement track command with go-git staging
This commit is contained in:
@@ -88,7 +88,23 @@ func Run(args []string, stdout io.Writer, stderr io.Writer) int {
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
case "track", "pull", "push", "commit", "destroy", "cd", "open", "exec", "exec_all", "rc", "generate":
|
||||
case "track":
|
||||
if len(args) < 2 || strings.TrimSpace(args[1]) == "" {
|
||||
_, _ = fmt.Fprintln(stderr, "error: track requires FILE")
|
||||
return 1
|
||||
}
|
||||
|
||||
castle := "dotfiles"
|
||||
if len(args) > 2 && strings.TrimSpace(args[2]) != "" {
|
||||
castle = args[2]
|
||||
}
|
||||
|
||||
if err := app.Track(args[1], castle); err != nil {
|
||||
_, _ = fmt.Fprintf(stderr, "error: %v\n", err)
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
case "pull", "push", "commit", "destroy", "cd", "open", "exec", "exec_all", "rc", "generate":
|
||||
_, _ = fmt.Fprintf(stderr, "error: %s is not implemented in Go yet\n", command)
|
||||
return 2
|
||||
default:
|
||||
@@ -116,10 +132,11 @@ func printHelp(w io.Writer) {
|
||||
_, _ = fmt.Fprintln(w, " diff [CASTLE]")
|
||||
_, _ = fmt.Fprintln(w, " link [CASTLE]")
|
||||
_, _ = fmt.Fprintln(w, " unlink [CASTLE]")
|
||||
_, _ = fmt.Fprintln(w, " track FILE [CASTLE]")
|
||||
_, _ = fmt.Fprintln(w, " version | -v | --version")
|
||||
_, _ = fmt.Fprintln(w, "")
|
||||
_, _ = fmt.Fprintln(w, "Not implemented yet:")
|
||||
_, _ = fmt.Fprintln(w, " track, pull, push, commit, destroy, cd, open, exec, exec_all, rc, generate")
|
||||
_, _ = fmt.Fprintln(w, " pull, push, commit, destroy, cd, open, exec, exec_all, rc, generate")
|
||||
_, _ = fmt.Fprintln(w, "")
|
||||
_, _ = fmt.Fprintln(w, "Build: go build -o dist/homesick-go ./cmd/homesick")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user