вызывается при вызове команд плагинов из юзер меню (любых плагинов, не
обязательно того, чья панель).
Пример, скрипт FarNet.PowerShellFar приведен ниже.
Панель при каждом GetFindDataW дает 1 файл, имя содержит счетчик вызовов.
- запускаем панель, типа -- ps: .\Test-Panel.far.ps1
- на ней один файл "file #1"
- вызываем из юзер меню такой пункт -- lua: far.Message('test')
- вызывается GetFindDataW, мы видим "file #2" на панели
Вопрос - это баг, недоработка, фича?
Если фича, то можно ли как-то распознать в GetFindDataW этот особенный вызов? Хотя бы хаком каким.
Code: Select all
$global:EventCount = 0
$Explorer = [PowerShellFar.PowerExplorer]::new("9e5c334d-b73e-4069-b3ec-2777a7c188d8")
$Explorer.AsGetFiles = {
++$global:EventCount
New-FarFile -Name "file #$($global:EventCount)"
}
$Panel = [FarNet.Panel]::new($Explorer)
$Panel.Open()
Активно использую вложенные меню, причем не только нативные, но и искусственные
(lua: mf.usermenu), ибо вторые имеют некоторые полезные качества в отличие от
нативных (чтобы файл меню не рос слишком, чтобы разбить меню по темам, чтобы
меню можно было вызывать из разных мест). Так вот на каждый вызов таких меню
обновляются панели плагинов. Иногда это дорого/неэффективно, а иногда плохо
и по другим причинам.