package ls import ( "bbash/environment" "bbash/input_parser" "fmt" "os" "slices" ) func Ls(in input_parser.Input, env *environment.Env) { flagsArray := []string { "a ", "help ", } flagsDictionary := map[string]string { "a": "-a shows hidden directories", "help": "-help shows this message", } if slices.Contains(in.Flags, "help") { fmt.Printf("Lists Sources in the current working directory") fmt.Printf("Supported flags are:") for _, flag := range flagsArray { fmt.Println(flag + flagsDictionary[flag]) } // Print flags and there description } fs, err := os.ReadDir(env.Path) if err != nil { fmt.Print(fmt.Sprintf("Error opening directory %s", env.Path)) } for _, f := range fs { if (f.Name()[0] == '.') && (slices.Contains(in.Flags, "a")) { continue } // allows for hidden directories fmt.Print(f.Name()) fmt.Println() } }