/lira

Primary LanguageTypeScript

LIRA.js

LIteral RAndom Text Generator

  • +Сделать необязательные переменные в виде :?varname
  • Сделать возможность интерполяции переменных в инлайновые списки <text|text|>
  • Сделать возможность сохранения переменных в контексте, чтобы они были доступны во внутренних шаблонах и могли быть там переопределены
  • +Переделать передачу переменых в шаблоны, чтобы передавать уже сформированный блок данных, а не контекст телеграфа
  • Сделать блок с перечнем символов вроде [abc:123], только в формате [[abc]:123], [[abc:123]] или например [@abc:123], чтобы формировалась строка из всех символов, которые есть в списке, рандомно. Например, [[abc:8]] может вернуть "aabcbcab"
  • Копилот подсказал интересный момент: можно сделать массивы с синтаксисом [1..10]
  • Добавить комментарии через #
  • Возможность экранировать спецсимволы в тексте, чтобы они не интерпретировались как спецсимволы шаблонов. Использовать для этого обратный слеш . Например, [abc:123] вернет строку "[abc:123]"
  • Придумать решение проблемы с пробелами по краям. trim() - не решение
  • Чтение переменных из верхних уровней контекста, как во всех языках программирования. Например, если в шаблоне есть переменная varname, а в контексте нет, то искать ее во внешнем контексте. Если во внешнем контексте нет, то искать во внешнем контексте внешнего контекста и т.д. до самого верхнего уровня. Если и там нет, то выдавать ошибку.