package cmd import ( "gosh/types" "os" "strings" "github.com/fatih/color" ) func GoshLs(sh *types.Shell) types.CmdOutput { children, err := os.ReadDir(sh.Cd) red := color.New(color.FgRed).SprintFunc() if err != nil { return types.CmdOutput{Id: 1, Output: red(err)} } var output strings.Builder for _, child := range children { if child.IsDir() { output.WriteString(color.CyanString(child.Name()+"/") + "\n") } else { output.WriteString(child.Name() + "\n") } } return types.CmdOutput{Id: 0, Output: output.String()} }