You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.2 KiB
99 lines
3.2 KiB
5 years ago
|
--[[
|
||
|
Copyright © 2018, Sjshovan (Apogee)
|
||
|
All rights reserved.
|
||
|
|
||
|
Redistribution and use in source and binary forms, with or without
|
||
|
modification, are permitted provided that the following conditions are met:
|
||
|
|
||
|
* Redistributions of source code must retain the above copyright
|
||
|
notice, this list of conditions and the following disclaimer.
|
||
|
* Redistributions in binary form must reproduce the above copyright
|
||
|
notice, this list of conditions and the following disclaimer in the
|
||
|
documentation and/or other materials provided with the distribution.
|
||
|
* Neither the name of Mount Muzzle nor the
|
||
|
names of its contributors may be used to endorse or promote products
|
||
|
derived from this software without specific prior written permission.
|
||
|
|
||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||
|
DISCLAIMED. IN NO EVENT SHALL Sjshovan (Apogee) BE LIABLE FOR ANY
|
||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||
|
--]]
|
||
|
|
||
|
local colors = require("constants").colors
|
||
|
|
||
|
function buildHelpCommandEntry(command, description)
|
||
|
local short_name = strColor("mm", colors.primary)
|
||
|
local command = strColor(command, colors.secondary)
|
||
|
local sep = strColor("=>", colors.primary)
|
||
|
local description = strColor(description, colors.info)
|
||
|
|
||
|
return string.format("%s %s %s %s", short_name, command, sep, description)
|
||
|
end
|
||
|
|
||
|
function buildHelpTypeEntry(name, description)
|
||
|
local name = strColor(name, colors.secondary)
|
||
|
local sep = strColor("=>", colors.primary)
|
||
|
local description = strColor(description, colors.info)
|
||
|
|
||
|
return string.format("%s %s %s", name, sep, description)
|
||
|
end
|
||
|
|
||
|
function buildHelpTitle(context)
|
||
|
local context = strColor(context, colors.danger)
|
||
|
|
||
|
return string.format("%s Help: %s", _addon.name, context)
|
||
|
end
|
||
|
|
||
|
function buildHelpSeperator(character, count)
|
||
|
local sep = ''
|
||
|
|
||
|
for i = 1, count do
|
||
|
sep = sep .. character
|
||
|
end
|
||
|
|
||
|
return strColor(sep, colors.warn)
|
||
|
end
|
||
|
|
||
|
function buildCommandResponse(message, success)
|
||
|
local response_color = colors.success
|
||
|
local response_type = 'Success'
|
||
|
|
||
|
if not success then
|
||
|
response_type = 'Error'
|
||
|
response_color = colors.danger
|
||
|
end
|
||
|
|
||
|
return string.format("%s: %s",
|
||
|
strColor(response_type, response_color), strColor(message, colors.info)
|
||
|
)
|
||
|
end
|
||
|
|
||
|
function displayResponse(response, color)
|
||
|
color = color or colors.info
|
||
|
print(strColor(response, color))
|
||
|
end
|
||
|
|
||
|
function strColor(str, color)
|
||
|
return string.format(color, str)
|
||
|
end
|
||
|
|
||
|
function ucFirst(str)
|
||
|
return str:gsub("^%l", string.upper)
|
||
|
end
|
||
|
|
||
|
function tableContains(tab, val)
|
||
|
for index, value in pairs(tab) do
|
||
|
if value == val then
|
||
|
return true
|
||
|
end
|
||
|
end
|
||
|
|
||
|
return false
|
||
|
end
|