IgorZ wrote: ↑Wed 17 Apr, 2019 12:26Описание:
Скрипт является панельным модулем, предназначенным заменять временную панель при выводе результатов поиска файлов. Основные отличия
форма вывода информации приближёна к формату результатов поиска в диалоге поиска Far.
функциональность скрипта, в отличие от стандартной временной панели, ограничена реальными файлами.
вызов путём нажатия на кнопку [ Панель ] диалога поиска файлов (обычно с последующим выбором пункта LuaMacro из меню). В этом режиме файлы из диалога результатов поиска копируются в данную панель и, опционально, во временную панель Far, которая в этом случае опционально может быть открыта на пассивной панели Far.
вызов путём выбора пункта Панель результатов поиска файлов из меню плагинов/дисков Far
или с помощью клавиатурной комбинации AltShiftF6 (только при активной временной панели). Данный способ работает, если на активной панели Far открыта временная панель (при этом в панель копируются файлы из временной панели, и данная панель открывается в активной панели Far вместо временной), или если данная панель уже открывалась и была закрыта(открывается на активной панели с предыдущим содержимым).
Требуемая версия Far 3.0.5182+.
Замечание: скрипт передаёт список содержимого плагину "Временная панель" через файл. Сборки плагина 107-109 при заполнении Временной панели содержимым из файла для каждого элемента заполняют APanel.UNCPath полным именем (включая абсолютный путь) файла-списка. Если это может сломать работу Ваших скриптов, используйте сборку Временной панели 106 от более ранней версии Far, а лучше перейдите на Far 3.0.5641+, содержащий Временную панель сборки 110+ с устранённой вышеописанной особенностью.
Предрелизные версии можно найти в данной теме ниже.
Версия 1.0.0 - Первый релиз.
Версия 1.0.1 - Исправлена ошибка в языковых файлах. Добавлена независимость от расширения файла.
Версия 1.1.0 - Добавлена стандартная обработка F5/ShiftF5/F6/ShiftF6/F8/ShiftF8/ShiftDel/AltDel/Enter/CtrlPgDn. Добавлена обработка AltShiftF3 (перейти на файл под курсором в пассивной панели), AltF5 (скопировать на пассивную панель с учётом путей), AltF6 (перенести на пассивную панель с учётом путей), AltShiftF5 (скопировать содержимое панели на временную и открыть её на пассивной панели), AltShiftF6 (скопировать содержимое панели на временную и открыть её активной панели вместо данной), F7 (убрать файл с панели, не трогать на диске). При выделении каталога вместо него выделяются все файлы в нём и его подкаталогах. После закрытия список файлов сохраняется и восстанавливается при повторном открытии через меню дисков/плагинов. Добавлен неполноэкранный режим панели. Пункт добавлен в меню дисков. Рефакторинг.
Версия 1.1.1 - Исправлены две обнаруженные ошибки.
Версия 1.2.0 - Показываются результаты поиска в архиве.
Версия 1.2.1 - Настройка использования 7zip. Обработка F3/F4/F5/F6/F7/F8/Del в архивах. Исправление обнаруженных ошибок. Рефакторинг.
Версия 1.2.2 - Опциональная принудительная настройка колонок для списка результатов поиска. Рефакторинг.
Версия 1.2.3 - Исправлено чтение файлов с временной панели. Рефакторинг.
lvm wrote: ↑Tue 16 Apr, 2019 09:06
Пардон, но в поиске фолдеры - только полный путь, а файлы - одни имена, но с временем и атрибутами. Это важно, должно быть именно так.
Такое, на данный момент, возможно с помощью Lua.
В общем, чтоб не быть голословным (а если честно, просто самому захотелось попробовать сделать), я сляпал простейший панельный модулёк.
Во вложении он же в архиве.
Как использовать: кладём в папку scripts, перезапускаем Far (или просто перезагружаем макросы), набираем в нужном каталоге AltF7, после завершения сканирования жмём [Панель], выбираем плагин LuaMacro и получаем результат. В данной версии предусмотрено только редактирование файлов по F4, это, по сути, демка.
TmpPanel.lua.7z
не обновляются атрибуты после редактирования найденных файлов
изменён внешний вид, чтобы ещё больше приблизить его к списку поиска;
благодаря переработке внутренней логики теперь стандартно обрабатываются любые действия Far для панели;
в качестве побочного эффекта в панели вместо ".." отображается пустая строка (в статусной строке по-прежнему "..").
P. S.: Стоит ли пробовать допиливать, вручную заменяя пустую строку на ".."?
не обновляются атрибуты после редактирования найденных файлов
Posted: Mon 22 Apr, 2019 20:38
by MasterLogic
Выводится только одна, первая, строка с именем папки и далее найденные файлы из всех подпапок. А ведь в окне результаты поиска (тому что хотим подражать) выводится каждая строка с путем перед найденными в этой папке файлами (даже если сами папки не ищем).
Пробовал на чистом FAR x86 3.0.5375 и 3.0.5387.
не обновляются атрибуты после редактирования найденных файлов
Posted: Tue 23 Apr, 2019 06:39
by IgorZ
MasterLogic wrote: ↑Mon 22 Apr, 2019 20:38
Выводится только одна, первая, строка с именем папки и далее найденные файлы из всех подпапок. А ведь в окне результаты поиска (тому что хотим подражать) выводится каждая строка с путем перед найденными в этой папке файлами (даже если сами папки не ищем).
Пробовал на чистом FAR x86 3.0.5375 и 3.0.5387.
Попробовал на чистом FAR x86 3.0.5387 (скачал с сайта, распаковал, профиль нулевой,
не обновляются атрибуты после редактирования найденных файлов
Posted: Tue 23 Apr, 2019 07:55
by Shmuel
MasterLogic, чтобы выводились папки, надо в диалоге AltF7 установить [x] Искать папки.
не обновляются атрибуты после редактирования найденных файлов
Posted: Tue 23 Apr, 2019 08:55
by MasterLogic
IgorZ, так а запрос какой? Если *.* и стоит галка Искать папки то да, все ок. Но если в той же папке искать к примеру *.txt - строка только одна. Shmuel, и от этой галки, в таком случае, ничего не меняется.
Но в окне поиска (что и хотим сымитировать) папки выводятся всегда, в независимости от этой галки.
Вообщем у меня выходит так:
-ищем *.*, галка не стоит - папка только первая;
-ищем *.*, галка стоит - все ок как и надо;
-ищем *.txt, галка стоит или не стоит - папка только первая.
И везде в первой строке последний каталог дважды.
не обновляются атрибуты после редактирования найденных файлов
Posted: Tue 23 Apr, 2019 09:31
by IgorZ
Оказывается, Far передаёт список найденных файлов панели довольно неожиданно (по крайней мере, для меня), хоть и логично. Если искать с текущей папки, то текущую папку он не включает в список. И это я правил сразу (хоть и некорректно, как оказалось). Если же искать в отмеченных папках, то не включаются все отмеченные (корневые, так сказать). То же относится и к поиску по путям. В общем, вроде, новая версия должна работать корректно с любыми вариантами настроек.
Да, сейчас список строится правильно. Спасибо.
Желательно еще чтобы при нажатии кнопки Панель в окне результатов не только строить этот список, но и передавать параллельно его во Временную панель (как из коробки), чтобы он не потерялся и можно было копировать и т.д.
Это не сложно доделать?
Панель для результатов поиска
Posted: Tue 23 Apr, 2019 10:37
by IgorZ
MasterLogic wrote: ↑Tue 23 Apr, 2019 10:30
Да, сейчас список строится правильно. Спасибо.
Желательно еще чтобы при нажатии кнопки Панель в окне результатов не только строить этот список, но и передавать параллельно его во Временную панель (как из коробки), чтобы он не потерялся и можно было копировать и т.д.
Это не сложно доделать?
Не знаю. Посмотрю, но не гарантирую.
Панель для результатов поиска
Posted: Tue 23 Apr, 2019 11:18
by Shmuel
MasterLogic wrote: ↑Tue 23 Apr, 2019 10:30
передавать параллельно его во Временную панель (как из коробки), чтобы он не потерялся и можно было копировать и т.д.
Можно создать файл-список, перейти на вторую панель и передать имя этого файла с комстроки: tmp:<имя файла>.
MasterLogic wrote: ↑Tue 23 Apr, 2019 10:30
передавать параллельно его во Временную панель (как из коробки), чтобы он не потерялся и можно было копировать и т.д.
Можно создать файл-список, перейти на вторую панель и передать имя этого файла с комстроки: tmp:<имя файла>.
На пассивной панели открывается временная панель, куда копируется список файлов.
P. S. Похоже, так скоро дойдёт до релиза. И там уже придётся ещё и настройки влеплять. А то кому-то понравится последнее изменение, а кому-то помешает.
В таком варианте на времен.панель попадают и папки, которые результатом поиска не являются (те что в основном открывающемся списке были для удобства). А передать данные во времен.панель никак кроме как в лоб, через внеш.файл нельзя, так как делалось фаром по дефолту?
Если нет, тогда возможно проще чтобы фар сам обрабатывал кнопку Панель, т.е. передал туда результаты поиска, а макрос вместо времен.панели выводил этот свой список.
В таком варианте на времен.панель попадают и папки, которые результатом поиска не являются (те что в основном открывающемся списке были для удобства). А передать данные во времен.панель никак кроме как в лоб, через внеш.файл нельзя, так как делалось фаром по дефолту?
Образно говоря, Вам шашечки, или ехать? Данные передаются, а как это делается - какая Вам разница?
Папки могу не передавать - это несложно сделать.
MasterLogic wrote: ↑Tue 23 Apr, 2019 14:04
Если нет, тогда возможно проще чтобы фар сам обрабатывал кнопку Панель, т.е. передал туда результаты поиска, а макрос вместо времен.панели выводил этот свой список.
А это уже никак. Временная панель ничего не знает про сторонний скрипт, следовательно, ничего не сможет в него передать.
И ещё. Макрос - это то, что запускается по нажатию комбинации клавиш. То, что я сваял, является панельным модулем.
Панель для результатов поиска
Posted: Wed 24 Apr, 2019 06:56
by John Doe
IgorZ wrote: ↑Wed 24 Apr, 2019 04:54Временная панель ничего не знает про сторонний скрипт, следовательно, ничего не сможет в него передать.
Разве скрипт не может сам получить с панели необходимые данные?
IgorZ wrote: ↑Wed 24 Apr, 2019 04:54Временная панель ничего не знает про сторонний скрипт, следовательно, ничего не сможет в него передать.
Разве скрипт не может сам получить с панели необходимые данные?
Ну, в принципе может, это я слегка неточно выразился. Временная панель не сможет после открытия автоматически запустить скрипт. То есть, нужно запускать скрипт (причём, существенно переписанный заново) вручную. Налицо существенное ухудшение удобства пользования. Зачем?