posh/pkg/readline/arg.go
Kevin Franklin Kim e2ad376b6c initial commit
2023-01-03 15:37:15 +01:00

35 lines
513 B
Go

package readline
import (
"strings"
)
type Arg string
func (a Arg) String() string {
return string(a)
}
func (a Arg) IsPipe() bool {
return a == "|"
}
func (a Arg) IsPass() bool {
return a == "--"
}
func (a Arg) IsFlag() bool {
return strings.HasPrefix(a.String(), "-") && len(a) > 1
}
func (a Arg) IsRedirect() bool {
return a == ">" || a == ">>" ||
a == "2>" || a == "2>>" ||
a == "&>" || a == "&>>" ||
a == "2>&1"
}
func (a Arg) IsAdditional() bool {
return a.IsPipe() || a.IsRedirect()
}