MantisBT  Site | Plugring | Plugins API and Macros | Forum | English Forum | Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003484PluginsArclitepublic2017-09-08 20:162017-09-09 11:58
Reporterbuniak_a_h 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusnewResolutionopen 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0003484: Выполнение функций плагина через вызовы Plugin.Call
DescriptionДля нормального использования плагина в макросах очень полезно было бы сделать вызов основных функций плагина через вызов Plugin.Call.
Сейчас есть возможность вызывать функции плагина из командной строки через префикс (по умолчанию - arc:). Минус этого способа в том, что эти команды остаются в истории, а это не всегда желательно (и даже допустимо). Причём, не помогает даже указание Far.DisableHistory(0) перед формированием командной строки.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0015553)
2useven10 (developer)
2017-09-08 20:27
edited on: 2017-09-08 20:28

Far.DisableHistory(-1)

(0015554)
buniak_a_h (reporter)
2017-09-08 20:59

А почему -1? В описании написано: 0 - запрет сохранения командной строки; -1 - общий запрет всех историй.
Я все истории запрещать опасаюсь: макрос вызывается из неизвестного контекста; потом потеряется история поисков (например). Функции Far.EnableHistory я не нашёл (что, кстати, странно... Т.е. запретить - можно, даже проверить, запрещено ли, можно. А восстановить состояние - нет?)
(0015555)
2useven10 (developer)
2017-09-08 22:06
edited on: 2017-09-08 22:07

Используется битовая маска - что запрещать.
-1 = всё (с запасом), ф-я возвращает текущее состояние.
можно так:
local d = Far.DisableHistory(-1)
...
Far.DisableHistory(d)
Но, насколько я помню, не обязательно.
Запрет действует в пределах макроса. Никакой чужой контекст он не меняет.

(0015556)
JohnDoe (reporter)
2017-09-09 11:58

Plugin.Call всё же желателен, поскольку есть потребность задействовать функции плагина напрямую, а не через запуск в панелях.

Существует функция Plugin.Command, но опять же, для её использования надо находиться в панелях, что не всегда возможно.

Альтернативно, можно усовершенствовать саму функцию Plugin.Command, добавив параметр, разрешающий выполнение отовсюду.

- Issue History
Date Modified Username Field Change
2017-09-08 20:16 buniak_a_h New Issue
2017-09-08 20:27 2useven10 Note Added: 0015553
2017-09-08 20:28 2useven10 Note Edited: 0015553 View Revisions
2017-09-08 20:59 buniak_a_h Note Added: 0015554
2017-09-08 22:06 2useven10 Note Added: 0015555
2017-09-08 22:07 2useven10 Note Edited: 0015555 View Revisions
2017-09-09 11:58 JohnDoe Note Added: 0015556



Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker