package ls import ( "bbash/environment" "bbash/input_parser" "fmt" "os" "strings" ) var flagsArray []string = []string{"a ", "help "} var flagsDictionary map[string]string = map[string]string{"a": "-a shows hidden directories", "help": "-help shows this message"} func Ls(in input_parser.Input, env *environment.Env, flags string) { if flags == "help" || flags == "-help" { fmt.Printf("Lists Sources in the current working directory") fmt.Printf("Supported flags are") for i := 0; i < len(flagsArray); i++ { fmt.Println(flagsArray[i] + flagsDictionary[flagsArray[i]]) } // this prints all flags and their 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] == '.') && (strings.Contains(flags, "a")) { continue } // allows for hidden directories fmt.Print(f.Name()) fmt.Println() } }