Панель для результатов поиска файлов

Здесь выкладываются готовые к использованию макросы и скрипты.
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

Описание:
Скрипт является панельным модулем, предназначенным заменять временную панель при выводе результатов поиска файлов. Основные отличия:
  • форма вывода информации приближёна к формату результатов поиска в диалоге поиска Far;
  • функциональность скрипта, в отличие от стандартной временной панели, ограничена реальными файлами;
  • работа с файлами внутри архивов.


Требуемая версия Far 3.0.5182+.

Замечание: скрипт передаёт список содержимого плагину "Временная панель" через файл. Сборки плагина 107-109 при заполнении Временной панели содержимым из файла для каждого элемента заполняют APanel.UNCPath полным именем (включая абсолютный путь) файла-списка. Если это может сломать работу Ваших скриптов, используйте сборку Временной панели 106 от более ранней версии Far, а лучше перейдите на Far 3.0.5641+, содержащий Временную панель сборки 110+ с устранённой вышеописанной особенностью.



Attachments
TmpPanel.1.5.0.7z
(19.96 KiB) Downloaded 18 times
Last edited by IgorZ on Fri 23 Jan, 2026 05:58, edited 29 times in total.
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

Latest post of the previous page:

Добавил в первый пост исправленный TmpPanel.lua. Хоть Shmuel и восстановил прежнее поведение, но многие не любят переходить на новые версии. Так что пусть будет.
User avatar
John Doe
Бюрократ
Posts: 14553
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 509 times
Contact:

Панель для результатов поиска файлов

Post by John Doe »

Для всех символических ссылок отображается размер 0.
https://t.me/FarManager — Telegram чат
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

Версия 1.4.2 -
  • Для ссылок вместо размера показывается "<Ссылка>"; буква аттрибута "E" заменяется на "L" - чтобы было как везде.
  • Добавлена проверка типа параметра OpenFrom при вызове из меню конфигурации плагинов (актуально для версий Far начала 2025 года и ранее). Для нынешних версий неактуально, но пусть будет - любители не переходить на свежие версии Far не переводятся, а разница в коде исчезающе мала.
Last edited by IgorZ on Mon 29 Dec, 2025 10:22, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 14553
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 509 times
Contact:

Панель для результатов поиска файлов

Post by John Doe »

IgorZ, а предусмотрен ли сейчас какой-либо интерфейс, чтобы открыть панель с заданными файлами из своего скрипта?
Или как у штатной панели, с помощью файла-списка?
https://t.me/FarManager — Telegram чат
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

John Doe wrote: Mon 29 Dec, 2025 16:06 IgorZ, а предусмотрен ли сейчас какой-либо интерфейс, чтобы открыть панель с заданными файлами из своего скрипта?
Или как у штатной панели, с помощью файла-списка?
Нет, поскольку изначальная идея была другая, а такого никто не запрашивал. В принципе, добавить возможно, если надо. Но после НГ.
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

John Doe wrote: Mon 29 Dec, 2025 16:06 IgorZ, а предусмотрен ли сейчас какой-либо интерфейс, чтобы открыть панель с заданными файлами из своего скрипта?
Или как у штатной панели, с помощью файла-списка?
Версия 1.5.0 -
  • Добавлен экспорт содержимого панели в файл (по AltShiftF2 в панели или из командной строки TmpPanelE:[имя файла]) и импорт из файла (из командной строки TmpPanelI:имя файла) Подробности в справке модуля.
  • Добавлена настройка для обхода ошибки с преобразованием UTC времени файла в локальное. Проявлятся в том, что на части ОС для файлов дата и время, меньшие, чем 26.10.2014 02:00, становятся на час меньше. Если для Вас это актуально, измените параметр nfo.options.CorrectFileTime в true.
Shmuel
Posts: 7218
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 627 times

Панель для результатов поиска файлов

Post by Shmuel »

IgorZ wrote: Fri 23 Jan, 2026 06:13 дата и время, меньшие, чем 26.10.2014 02:00, становятся на час меньше
Это условие совершенно не обязательно.
При изменении месяца модификации с октября на август, у меня есть разница в 1 час между Фаром и вашим скриптом, даже если год модификации 2026. Это потому, что функция не осведомлена, что в Израиле сейчас зимнее время.
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

Shmuel wrote: Fri 23 Jan, 2026 10:37
IgorZ wrote: Fri 23 Jan, 2026 06:13 дата и время, меньшие, чем 26.10.2014 02:00, становятся на час меньше
Это условие совершенно не обязательно.
При изменении месяца модификации с октября на август, у меня есть разница в 1 час между Фаром и вашим скриптом, даже если год модификации 2026. Это потому, что функция не осведомлена, что в Израиле сейчас зимнее время.
Ничто не совершенно. То, что нашёл - накостылил. Те, кому не повезло, по крайней мере, будут знать о проблеме. А там - как сложится...
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Панель для результатов поиска файлов

Post by phidel »

спасибо за макрос, это просто праздник какой-то

Вопрос. Если у меня есть готовый список файлов (например, созданный командой ripgrep), я могу его открыть в этой временной панели только через открытие стандартной панели и затем переключение? это единственный способ?

Code: Select all

panel.SetCmdLine(nil,'tmp: < rg -l -tlua "что искать"')
Keys "Enter"
Plugin.Menu("4EBBEFC8-2084-4B7F-94C0-692CE136894D",
            "729E0E44-73DC-4D87-9E30-0769572C2627")
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

phidel wrote: Fri 13 Feb, 2026 11:24 спасибо за макрос, это просто праздник какой-то
Всегда пожалуйста.
phidel wrote: Fri 13 Feb, 2026 11:24Вопрос. Если у меня есть готовый список файлов (например, созданный командой ripgrep), я могу его открыть в этой временной панели только через открытие стандартной панели и затем переключение? это единственный способ?
Попробуйте через TmpPanelI:имя файла-списка. Имена файлов в файле-списке должны быть с первой позиции в строке и включать в себя полный путь к файлу.
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Панель для результатов поиска файлов

Post by phidel »

IgorZ wrote: Fri 20 Feb, 2026 05:02 Попробуйте через TmpPanelI:имя файла-списка.
выдает ошибку
Last edited by phidel on Fri 20 Feb, 2026 05:14, edited 1 time in total.
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

phidel wrote: Fri 20 Feb, 2026 05:13
IgorZ wrote: Fri 20 Feb, 2026 05:02 Попробуйте через TmpPanelI:имя файла-списка.
выдает ошибку
Перед 284 строкой в TmpPanel.lua вставьте
PI.FileAttributes = PI.FileAttributes or win.GetFileAttr(PI.FileName) or ""
Иногда первый файл в списке выводится странновато. Закономерность я пока не понял. Для устранения достаточно добавить в файл-список первую пустую строку.
User avatar
phidel
Posts: 86
Joined: Wed 29 Jun, 2011 17:21
Has thanked: 28 times
Been thanked: 4 times

Панель для результатов поиска файлов

Post by phidel »

работает, правда, вместо размера выводит nil, но это уже мелочи.
И знаки вопроса что-то означают?
IgorZ
Posts: 822
Joined: Wed 13 Jul, 2011 03:32
Has thanked: 16 times
Been thanked: 100 times

Панель для результатов поиска файлов

Post by IgorZ »

phidel wrote: Fri 20 Feb, 2026 07:52 работает, правда, вместо размера выводит nil, но это уже мелочи.
Если в файл-списке нет параметров файла, выводится что выводится. Можно было бы добавить считывание тех параметров, что нет, с диска, но пока что никто не запрашивал, а мне самому пока что не надо было.
phidel wrote: Fri 20 Feb, 2026 07:52 И знаки вопроса что-то означают?
Знак вопроса указывает, что это "виртуальный" каталог. Если каталоги при поиске тоже ищутся (или если они есть в файле-списке), то они присутствуют в списке элементов и показываются без "?" (для наглядности попробуйте добавить в файл-список "C:\Far\Profile\Macros\scripts\TmpPanel "). Если же каталоги в списке отсутствуют, то их всё равно надо показывать в соответствии с форматом панели, но операции с ними по определению не должны быть возможны. Тогда они на панели отмечаются с помощью "?", поскольку этот знак невозможен в имени файла.
Был уверен, что это есть в справке, но сейчас посмотрел и не нашёл. Недоработка, однако. Надо будет добавить.
Post Reply

Return to “Полезные макросы и скрипты”