Skip to content

Commit eeb8217

Browse files
committed
Bump go-cli-alias to v0.0.4
1 parent f50a1f2 commit eeb8217

File tree

4 files changed

+34
-50
lines changed

4 files changed

+34
-50
lines changed

alias.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package main
2+
3+
import alias "github.com/linuxsuren/go-cli-alias/pkg"
4+
5+
func getAliasList() []alias.Alias {
6+
return []alias.Alias{
7+
{Name: "cm", Command: "checkout master"},
8+
}
9+
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.15
44

55
require (
66
github.com/linuxsuren/cobra-extension v0.0.5
7-
github.com/linuxsuren/go-cli-alias v0.0.3
7+
github.com/linuxsuren/go-cli-alias v0.0.4
88
github.com/magiconair/properties v1.8.4
99
github.com/spf13/cobra v1.1.1
1010
)

go.sum

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,10 +160,15 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
160160
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
161161
github.com/linuxsuren/cobra-extension v0.0.1 h1:e288zsm1iWUaAOjfiw42hiWJsrrXZnJ0vKApWPyTfkQ=
162162
github.com/linuxsuren/cobra-extension v0.0.1/go.mod h1:UqHi31q7Dj+46nzcVWNZz5Z1JcHBJcmCyPAZRoM8LXo=
163+
github.com/linuxsuren/cobra-extension v0.0.3/go.mod h1:UqHi31q7Dj+46nzcVWNZz5Z1JcHBJcmCyPAZRoM8LXo=
163164
github.com/linuxsuren/cobra-extension v0.0.5 h1:3go926vpXiizRzBEwt8CddCDerRsG5hlIFr0JJvGaKc=
164165
github.com/linuxsuren/cobra-extension v0.0.5/go.mod h1:qcEJv7BbL0UpK6MbrTESP/nKf1+z1wQdMAnE1NBl3QQ=
166+
github.com/linuxsuren/go-cli-alias v0.0.3-0.20201208135826-ad33122f181c h1:YNpS+IdkZA9fvNa9gi7xA45FrVSNsEamrzdyezJndjM=
167+
github.com/linuxsuren/go-cli-alias v0.0.3-0.20201208135826-ad33122f181c/go.mod h1:l2/nzdvung0zorpCxI1CT+Fuuc/W1sFEWS0jt3/b2ZM=
165168
github.com/linuxsuren/go-cli-alias v0.0.3 h1:IbqC+4uOTCRM27WCII7Z35pXP4bwqck0J5jg2xmIqr4=
166169
github.com/linuxsuren/go-cli-alias v0.0.3/go.mod h1:l2/nzdvung0zorpCxI1CT+Fuuc/W1sFEWS0jt3/b2ZM=
170+
github.com/linuxsuren/go-cli-alias v0.0.4 h1:+otarDOeSZzzbTCr9CllAOQCQNpaf/HI41iDvWWUo/w=
171+
github.com/linuxsuren/go-cli-alias v0.0.4/go.mod h1:dfwOx8H0iVpdS9gtLC80GCC4cvDvzWejxjxXn7sFWUs=
167172
github.com/linuxsuren/go-cli-plugin v0.0.1/go.mod h1:uyO09KK8otYfDV5LVTfcWX2UbAi3kEz3PrkdfIxnDlg=
168173
github.com/linuxsuren/http-downloader v0.0.2-0.20201207132639-19888a6beaec h1:N6xw+W4IvgOV0cmhE7iUWKHNZqMUXlT3in+1ORmqIGo=
169174
github.com/linuxsuren/http-downloader v0.0.2-0.20201207132639-19888a6beaec/go.mod h1:zRZY9FCDBuYNDxbI2Ny5suasZsMk7J6q9ecQ3V3PIqI=

main.go

Lines changed: 19 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package main
22

33
import (
4-
"context"
54
"fmt"
5+
ext "github.com/linuxsuren/cobra-extension"
66
extver "github.com/linuxsuren/cobra-extension/version"
7-
alias "github.com/linuxsuren/go-cli-alias/pkg"
87
aliasCmd "github.com/linuxsuren/go-cli-alias/pkg/cmd"
98
"github.com/spf13/cobra"
109
"os"
@@ -13,68 +12,39 @@ import (
1312
"syscall"
1413
)
1514

15+
const (
16+
TargetCLI = "git"
17+
AliasCLI = "cgit"
18+
)
19+
1620
func main() {
1721
cmd := &cobra.Command{
18-
Use: "cgit",
22+
Use: AliasCLI,
1923
RunE: func(cmd *cobra.Command, args []string) (err error) {
2024
env := os.Environ()
2125

22-
preferGitHub(args)
23-
useMirror(args)
26+
preHook(args)
2427

2528
var gitBinary string
26-
if gitBinary, err = exec.LookPath("git"); err == nil {
27-
syscall.Exec(gitBinary, append([]string{"git"}, args...), env)
29+
if gitBinary, err = exec.LookPath(TargetCLI); err == nil {
30+
syscall.Exec(gitBinary, append([]string{TargetCLI}, args...), env)
2831
}
2932
return
3033
},
3134
}
3235

33-
cmd.AddCommand(extver.NewVersionCmd("linuxsuren", "cgit", "cgit", nil))
36+
cmd.AddCommand(extver.NewVersionCmd("linuxsuren", AliasCLI, AliasCLI, nil))
3437

35-
var ctx context.Context
36-
if defMgr, err := alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), []alias.Alias{
37-
{Name: "cm", Command: "checkout master"},
38-
}); err == nil {
39-
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)
38+
aliasCmd.AddAliasCmd(cmd, getAliasList())
4039

41-
cmd.AddCommand(aliasCmd.NewRootCommand(ctx))
42-
} else {
43-
cmd.Println(fmt.Errorf("cannot get default alias manager, error: %v", err))
44-
}
40+
cmd.AddCommand(ext.NewCompletionCmd(cmd))
4541

46-
cmd.SilenceErrors = true
47-
a := cmd.Execute()
48-
if a != nil && strings.Contains(a.Error(), "unknown command") {
49-
args := os.Args[1:]
50-
var ctx context.Context
51-
var defMgr *alias.DefaultAliasManager
52-
var err error
53-
if defMgr, err = alias.GetDefaultAliasMgrWithNameAndInitialData(cmd.Name(), []alias.Alias{
54-
{Name: "cm", Command: "checkout master"},
55-
}); err == nil {
56-
ctx = context.WithValue(context.Background(), alias.AliasKey, defMgr)
57-
var gitBinary string
58-
var targetCmd []string
59-
env := os.Environ()
60-
61-
if gitBinary, err = exec.LookPath("git"); err != nil {
62-
panic("cannot find git")
63-
}
64-
65-
if ok, redirect := aliasCmd.RedirectToAlias(ctx, args); ok {
66-
args = redirect
67-
}
68-
69-
preferGitHub(args)
70-
useMirror(args)
42+
aliasCmd.Execute(cmd, TargetCLI, getAliasList(), preHook)
43+
}
7144

72-
targetCmd = append([]string{"git"}, args...)
73-
_ = syscall.Exec(gitBinary, targetCmd, env) // ignore the errors due to we've no power to deal with it
74-
} else {
75-
err = fmt.Errorf("cannot get default alias manager, error: %v", err)
76-
}
77-
}
45+
func preHook(args []string) {
46+
preferGitHub(args)
47+
useMirror(args)
7848
}
7949

8050
func preferGitHub(args []string) {
@@ -83,7 +53,7 @@ func preferGitHub(args []string) {
8353
}
8454

8555
address := args[1]
86-
if !strings.HasPrefix(address, "http") {
56+
if !strings.HasPrefix(address, "http") || !strings.HasPrefix(address, "git@") {
8757
args[1] = fmt.Sprintf("https://github.com.cnpmjs.org/%s", address)
8858
}
8959
}

0 commit comments

Comments
 (0)