WIP: experimental bash support for windows

This commit is contained in:
vilmibm 2020-07-13 16:03:28 -05:00
parent bbd756a99f
commit f99b54a731

View file

@ -410,19 +410,27 @@ func ExpandAlias(args []string) (expanded []string, isShell bool, err error) {
isShell = true
expanded = []string{"sh", "-c", expansion[1:]}
if runtime.GOOS == "windows" {
argList := ""
if len(args[2:]) > 0 {
argList = " -ArgumentList @("
for i, arg := range args[2:] {
argList += fmt.Sprintf("'%s'", arg)
if i < len(args[2:])-1 {
argList += ","
}
}
argList += ")"
//argList := ""
//if len(args[2:]) > 0 {
// argList = " -ArgumentList @("
// for i, arg := range args[2:] {
// argList += fmt.Sprintf("'%s'", arg)
// if i < len(args[2:])-1 {
// argList += ","
// }
// }
// argList += ")"
//}
//invoke := fmt.Sprintf("Invoke-Command -ScriptBlock { %s } %s", expansion[1:], argList)
//expanded = []string{"pwsh", "-Command", invoke}
executable, err := os.Executable()
if err != nil {
return
}
invoke := fmt.Sprintf("Invoke-Command -ScriptBlock { %s } %s", expansion[1:], argList)
expanded = []string{"pwsh", "-Command", invoke}
invoke := fmt.Sprintf("gh () { %s \"$@\" }; %s", executable, expansion[1:])
expanded = []string{"bash", "--posix", "-c", invoke, "--"}
expanded = append(expanded, args[2:]...)
} else {
if len(args[2:]) > 0 {
expanded = append(expanded, "--")