Как вызывать
Functions.text.wrap(str, limit)
Запишите его как зависимость с именем Functions.text.wrap (принятие автодополнения делает это само) и вызывайте по этому имени.
Также принимается под прежним пространством имён utils.
Что делает
Переносить текст по пробельным символам около целевого числа столбцов. Длинные слова сохраняются целиком.
Аргументы
| Имя | Тип | Что делает |
|---|---|---|
str | string | Переносимый текст. |
limit | number | nil | Целевая ширина строки, по умолчанию 72 символа. |
Возвращает
| 1 | string | Текст с переносами строк по границам слов. |
|---|
Издания
Встроенные помощники регистрируются во всех изданиях. Различается игровой API, который они читают; если нужного API нет, помощник использует запасной вариант или возвращает nil с причиной.
Не читает игровой API напрямую.
Пример
local note = Functions.text.wrap("Use defensive cooldowns before the tank swap", 20)
local _, breaks = note:gsub("\n", "")
return breaks >= 1Исходный код
Functions/text.lua, строка 37. В игре только для чтения; «Дублировать» создаёт редактируемую копию.
Functions.text.wrap(str, limit)
limit = limit or 72
local here = 1
-- the "".. is there because :gsub returns multiple values
return ""..str:gsub("(%s+)()(%S+)()",
function(_, st, word, fi)
if fi-here > limit then
here = st
return "\n"..word
end
end)