View Issue Details

IDProjectCategoryView StatusLast Update
0003681WishesSpecial Symbolspublic2018-11-28 17:29
ReporterJohnDoe Assigned To 
PrioritynormalSeverityminorReproducibilityN/A
Status newResolutionopen 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Summary0003681: lua-скрипты в метасимволах
DescriptionПредлагаю реализовать возможность использования метасимволов, задаваемых lua-функциями.
Например так:
!*func
Здесь func - имя lua-функции, возвращающей строку подстановки.

Метасимвол может быть и другим, например можно попытаться минимизировать число закорючек: !lua!func

Функции, имена которых допустимы в качестве func, предлагаю загружать аналогично макросам/событиям, такой способ позволит впоследствии легко добавлять в определение дополнительные свойства.
Steps To ReproduceСледует учесть равную применяемость метасимволов в Ассоциациях (панельных, и командной строки), Меню Пользователя, и Применить Команду.

В описании приводится минимальный вариант пожелания.
Хотя он уже достаточно полезен сам по себе, впоследствии его можно существенно расширить, увеличив возможности и гибкость реакции в зависимости от контекста.
Обсуждение на форуме: https://forum.farmanager.com/viewtopic.php?p=151184#p151184

Additional InformationВозможные направления дальнейшего развития:
  1. Функция func могла бы принимать параметры, в числе которых можно передавать контекст вызова, текущий обрабатываемый элемент, и дополнительные аргументы, если присутствуют в конкретном вызове метасимвола
  2. Дополнительные аргументы:
    • Можно было бы передавать примерно так: !*func(arg1,arg2)

    • В этом случае перед парсером возникает задача выделение границ метасимвола, и могут понадобиться какие-то правила экранирования.
    • Альтернативно, аргументами может считаться всё оставшееся содержимое командной строки.
  • Функция помимо строки могла бы возвращать и другие значения, которые можно было бы использовать для отмены команды, и т.п.
  • Подробнее на форуме
    TagsMetasymbols
    Build

    Activities

    There are no notes attached to this issue.

    Issue History

    Date Modified Username Field Change
    2018-11-20 11:33 JohnDoe New Issue
    2018-11-20 11:34 JohnDoe Description Updated
    2018-11-20 11:34 JohnDoe Steps to Reproduce Updated
    2018-11-20 11:34 JohnDoe Additional Information Updated
    2018-11-20 11:35 JohnDoe Additional Information Updated
    2018-11-20 11:38 JohnDoe Tag Attached: Metasymbols