local text = imgui.ImBuffer(256)
local buttons = {
'Menu',
'Settings',
'Other'
}
-- imgui
if imgui.InputText('##Input', text) then -- Избавляемся от скобок, чтобы в дальнейшем скрипт не крашился при поиске
text.v = text.v:gsub('%(', '')
text.v = text.v:gsub('%)', '')
text.v = text.v:gsub('%[', '')
text.v = text.v:gsub('%]', '')
end
for k, v in pairs(buttons)
if u8:decode(text.v) ~= 0 and string.nlower(v):find(string.nlower(u8:decode(text.v))) then
imgui.Button(u8(v))
end
end
-- где-то в коде
local lower, sub, char, upper = string.lower, string.sub, string.char, string.upper
local concat = table.concat
local lu_rus, ul_rus = {}, {}
for i = 192, 223 do
local A, a = char(i), char(i + 32)
ul_rus[A] = a
lu_rus[a] = A
end
local E, e = char(168), char(184)
ul_rus[E] = e
lu_rus[e] = E
function string.nlower(s)
s = lower(s)
local len, res = #s, {}
for i = 1, len do
local ch = sub(s, i, i)
res[i] = ul_rus[ch] or ch
end
return concat(res)
end