func Args() []string {
	args := []string{}
	line := Line()
	if line == "" {
		return args
	}
	args = strings.Split(line, " ")
	if line[len(line)-1] == ' ' {
		args = append(args, " ")
	}
	return args
}
Args returns Line as a slice of strings. If the Line has one or more
spaces at the end Args appends an a space (" ") as the last item.
This is to distinquish between users wanting to tab on prefixes
versus all the possibilities for a command.

WARNING: The first element of any arguments list is always determined
by the underlying operating system and can be inconsistent and even
modified from the actual executable. Use caution when relying on it
for consistent and secure program behavior.
package comp
import (
	"os"
	"strings"
)
var This string
func Yes() bool { return len(Line()) > 0 }
func Line() string {
	if This != "" {
		return This
	}
	return os.Getenv("COMP_LINE")
}