func defineScope()

in cli/scope/scope.go [99:119]


func defineScope(args []string, scope *Scope) []string {
	// args is: name [global flags] [scope and id pair] command [flags] [arguments]
	// Skip name and global flags
	idx := 1
	for idx < len(args) && isFlag(args[idx]) {
		idx += 1
	}
	newArgs := args[:idx]
	args = args[idx:]

	for len(args) > 2 && !isFlag(args[1]) {
		if scopeFn, nameOfAScope := scopeSpecifier[args[0]]; nameOfAScope {
			scopeFn(scope, args[1])
			args = args[2:]
		} else {
			break
		}
	}
	setDefaultEntityIfRequired(scope)
	return append(newArgs, args...)
}