GoLSh/cmd/ls.go
2025-06-24 16:02:09 -05:00

29 lines
549 B
Go

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()}
}