class Samovar::Many

def initialize(key, description, stop: /^-/, default: nil)

def initialize(key, description, stop: /^-/, default: nil)
	@key = key
	@description = description
	@stop = stop
	@default = default
end

def parse(input, default = @default)

def parse(input, default = @default)
	if @stop and stop_index = input.index{|item| @stop === item}
		input.shift(stop_index)
	else
		input.shift(input.size)
	end || default
end

def to_a

def to_a
	usage = [to_s, @description]
	
	if @default
		usage << "Default: #{@default.inspect}"
	end
	
	return usage
end

def to_s

def to_s
	"<#{key}...>"
end