All pastes #68514 Raw Edit

Something

public text v1 · immutable
#68514 ·published 2006-06-21 18:30 UTC
rendered paste body
command = {
	name = 'short name',
	desc = 'long description',
	type = 'execute',
	set = "MethodName",
}
-- /addon command -- calls MethodName()

command = {
	name = 'short name',
	desc = 'long description',
	type = 'set',
	values = { 'one', 'two', 'three' },
	get = "GetterMethod",
	set = "SetterMethod",
}
-- /addon command -- prints out Usage: {one || two || three}, current value: `GetterMethod()`
-- /addon command one -- calls SetterMethod('one'), prints out short name now set to [one]

command = {
	name = 'short name',
	desc = 'long description',
	type = 'text',
	usage = "name of that guy",
	get = "GetterMethod", -- optional
	set = "SetterMethod",
	validate = function(x) return true end, -- optional, a false return means an error.
}
-- /addon command -- print out Usage: {name of that guy}, current value `GetterMethod()`
-- /addon command Humphrey -- calls validate("Humphrey"), passes. calls SetterMethod("Humphrey"). prints out short name now set to [Humphrey]

command = {
	name = 'short name',
	desc = 'long description',
	type = 'range',
	start = 0 -- optional, 0 default
	end = 1 -- optional, 1 default
	isPercent = true -- optional, false default
	get = "GetterMethod",
	set = "SetterMethod",
}
-- /addon command -- print out Usage: {0-100}, current value `GetterMethod()*100` -- percentage makes things *100
-- /addon command 50 -- calls SetterMethod(50/100), prints out short name is now set to [50%]

command = {
	name = 'short name',
	desc = 'long description',
	type = 'toggle',
	get = "GetterMethod",
	set = "SetterMethod", -- this can be a toggle method, but the new true/false value will be passed in anyway.
}
-- /addon command -- calls SetterMethod(not GetterMethod()). prints out short name isnow set to [On]

command = {
	name = 'short name',
	desc = 'long description',
	type = 'color',
	get = "GetterMethod", -- returns r, g, b [, a]
	set = "SetterMethod", -- takes r, g, b [, a]
	hasAlpha = true, -- optional, default false
}
-- /addon command -- pops up a shiny color picker. when color changes, SetterMethod(r,g,b,a) is called. When OK is pressed, it prints out the new color.

command = {
	name = 'short name',
	desc = 'long description',
	type = 'pass',
	passType = 'text'
	get = "GetterMethod", -- optional, depending on passType
	set = "SetterMethod",
	args = {
		one = { -- calling this would call SetterMethod('one', ...)
			name = 'other short name',
			desc = 'long description',
			usage = 'some text'
		},
		two = {
			name = 'short name',
			desc = 'long description',
		},
	}
}
-- /addon command -- prints out Usage: {one || two}
-- /addon command one -- prints out Usage: {some text} Current value: `GetterMethod('one')`.
-- /addon command one test -- calls SetterMethod('test'). prints out other short name is now set to [test].

command = {
	name = 'short name',
	desc = 'long description',
	type = 'group', -- optional, group is default
	args = {
		one = {
			-- fully formed command
		},
		two = {
			-- fully formed command
		},
	}
}

-- /addon command -- prints out Usage: {one || two}
-- /addon command one -- goes to the one command, runs through that.