35
cmd/cli/flag.go
Normal file
35
cmd/cli/flag.go
Normal file
@@ -0,0 +1,35 @@
|
||||
package cli
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type FlagStringArray []string
|
||||
|
||||
func (array *FlagStringArray) String() string {
|
||||
return strings.Join(*array, ", ")
|
||||
}
|
||||
|
||||
func (array *FlagStringArray) Set(s string) error {
|
||||
*array = append(*array, s)
|
||||
return nil
|
||||
}
|
||||
|
||||
type FileList FlagStringArray
|
||||
|
||||
func (fileList FileList) Strings() []string {
|
||||
return ([]string)(fileList)
|
||||
}
|
||||
|
||||
func (fileList *FileList) String() string {
|
||||
return (*FlagStringArray)(fileList).String()
|
||||
}
|
||||
|
||||
func (fileList *FileList) Set(s string) error {
|
||||
if _, err := os.Stat(s); os.IsNotExist(err) {
|
||||
return fmt.Errorf("file does not exist: %s", s)
|
||||
}
|
||||
return (*FlagStringArray)(fileList).Set(s)
|
||||
}
|
||||
Reference in New Issue
Block a user