diff --git a/base/cli/forever.go b/base/cli/forever.go index 47db66bc..ef9c486a 100644 --- a/base/cli/forever.go +++ b/base/cli/forever.go @@ -3,6 +3,7 @@ package cli import ( "os" "path" + "runtime" ice "shylinux.com/x/icebergs" "shylinux.com/x/icebergs/base/gdb" @@ -64,6 +65,10 @@ func init() { m.Cmd(SYSTEM, "cp", "-r", "var/log", back, ice.Maps{CMD_OUTPUT: ""}) m.Cmd(SYSTEM, "cp", "bin/boot.log", path.Join(back, "boot.log"), ice.Maps{CMD_OUTPUT: ""}) } + if runtime.GOOS == "windows" { + m.Sleep("3s") + break + } } }}, }) diff --git a/base/cli/system.go b/base/cli/system.go index 3ba2f04a..a874b4d4 100644 --- a/base/cli/system.go +++ b/base/cli/system.go @@ -169,7 +169,8 @@ func init() { return } // mdb.HashCreate(m.Spawn(), ice.CMD, arg[0], ice.ARG, kit.Join(arg[1:], ice.SP)) - if _system_exec(m, _system_cmd(m, kit.Simple(kit.Split(arg[0]), arg[1:])...)); IsSuccess(m) && m.Append(CMD_ERR) == "" { + if _system_exec(m, _system_cmd(m, arg...)); IsSuccess(m) && m.Append(CMD_ERR) == "" { + // if _system_exec(m, _system_cmd(m, kit.Simple(kit.Split(arg[0]), arg[1:])...)); IsSuccess(m) && m.Append(CMD_ERR) == "" { m.SetAppend() } }}, diff --git a/base/nfs/dir.go b/base/nfs/dir.go index 0fe6695e..440ecbbd 100644 --- a/base/nfs/dir.go +++ b/base/nfs/dir.go @@ -103,7 +103,11 @@ func _dir_list(m *ice.Message, root string, dir string, level int, deep bool, di } m.Push(mdb.HASH, kit.Select(h[:6], h[:], field == mdb.HASH)) case mdb.LINK: - m.PushDownload(mdb.LINK, kit.Select("", f.Name(), !isDir), p) + if strings.Contains(p, "ice.windows.") { + m.PushDownload(mdb.LINK, kit.Select("", f.Name(), !isDir)+".exe", p) + } else { + m.PushDownload(mdb.LINK, kit.Select("", f.Name(), !isDir), p) + } case mdb.SHOW: switch p := kit.MergeURL("/share/local/"+p, ice.POD, m.Option(ice.MSG_USERPOD)); kit.Ext(f.Name()) { case PNG, JPG: diff --git a/base/ssh/script.go b/base/ssh/script.go index c143490a..b9add60f 100644 --- a/base/ssh/script.go +++ b/base/ssh/script.go @@ -41,7 +41,12 @@ func (f *Frame) prompt(m *ice.Message, list ...string) *Frame { if len(list) == 0 { list = append(list, f.ps1...) } - fmt.Fprintf(f.stdout, "\r\033[2K") + if ice.Info.Colors { + fmt.Fprintf(f.stdout, "\r\033[2K") + } else { + fmt.Fprintf(f.stdout, "\r") + } + for _, v := range list { switch v { case mdb.COUNT: diff --git a/init.go b/init.go index 62cec7c7..952a5526 100644 --- a/init.go +++ b/init.go @@ -2,6 +2,7 @@ package ice import ( "os" + "runtime" "strings" "time" @@ -100,6 +101,9 @@ func Run(arg ...string) string { if Pulse._cmd == nil { Pulse._cmd = &Command{RawHand: logs.FileLines(3)} } + if len(arg) == 0 && runtime.GOOS == "windows" { + arg = append(arg, "serve", "start") + } switch Index.Merge(Index).Begin(Pulse, arg...); kit.Select("", arg, 0) { case SERVE, SPACE: if Index.Start(Pulse, arg...) { @@ -107,7 +111,9 @@ func Run(arg ...string) string { os.Exit(kit.Int(Pulse.Option(EXIT))) } default: - if logs.Disable(true); len(arg) == 0 { + if runtime.GOOS == "windows" { + + } else if logs.Disable(true); len(arg) == 0 { arg = append(arg, HELP) } if Pulse.Cmd(INIT).Cmdy(arg); strings.TrimSpace(Pulse.Result()) == "" {