LuaFAR Search

Здесь можно обсудить ваш любимый плагин.
Shmuel
Posts: 5164
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR Search

Post by Shmuel » Fri 13 Nov, 2009 07:29

Здесь можно обсуждать плагин LuaFAR Search. (Анонс).

User avatar
Dennis_Moore
Posts: 230
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 5 times
Been thanked: 10 times

LuaFAR Search

Post by Dennis_Moore » Sat 01 Jul, 2017 17:15

Latest post of the previous page:

buniak_a_h wrote:
Sat 01 Jul, 2017 12:22
Вместо того, чтоб указать размер и возраст, приходится настраивать фильтр, который нужен только на один раз - для поиска.
Извините что встряю, но эту проблему можно решить макросом. По нажатию того же Alt+L можно выдавать диалог который запрашивает только то что вам нужно и по Enter создает фильтр и начинает поиск. Выше по теме несколько способов узнать ID диалога.

buniak_a_h
Posts: 313
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 34 times
Been thanked: 4 times
Contact:

LuaFAR Search

Post by buniak_a_h » Sat 01 Jul, 2017 18:22

Dennis_Moore wrote:
Sat 01 Jul, 2017 17:15
можно решить макросом
Спасибо. Пока не знаю, как создать фильтр из макроса, но идея интересная.

User avatar
Dennis_Moore
Posts: 230
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 5 times
Been thanked: 10 times

LuaFAR Search

Post by Dennis_Moore » Sat 01 Jul, 2017 20:58

buniak_a_h wrote:
Sat 01 Jul, 2017 18:22
Спасибо. Пока не знаю, как создать фильтр из макроса, но идея интересная
Вот. Топорно, зато работает и вашу задачу решает:



Файл поместить в %FARPROFILE%\Macros\scripts, сочетание для вызова Alt+Q (из диалога поиска плагина), формат ввода такой: xxx , /xxx, xxx/xxx. Если не хотим фильтровать по одному из значений нажимаем Esc или Enter в пустом поле. Ввод не фильтруется.

Если раскомментировать строки 12 и 13 то можно будет выбрать какую дату брать (создания, изменения, доступа, чтения), еcли раскомментировать строку 34 то дата будет относительной (напр. за последие 5 дней).
Last edited by Dennis_Moore on Sun 02 Jul, 2017 09:39, edited 4 times in total.

User avatar
Dennis_Moore
Posts: 230
Joined: Tue 03 Mar, 2015 19:54
Location: Kiev
Has thanked: 5 times
Been thanked: 10 times

LuaFAR Search

Post by Dennis_Moore » Sat 08 Jul, 2017 00:06

Заметил странность при использовании своего макроса из поста выше (ссылка).

Проиллюстрирую на чейнджлоге плагина. Открываю поиск в редакторе, ввожу в строку поиска 39, нажимаю Enter (макрос нажимает Alt4). Подсвечивается только одно совпадение из трех, но после нажатия стрелки вниз подсвечиваются все три. Жму Esc, подсветка найденного остается. Снова открываю поиск, ввожу 2017, опять же подсвечивается только одно совпадение из 25-ти и еще при этом остаются выделенными три найденных 39. При нажатии стрелки вниз все приходит в норму.

Если в диалоге нажимать Alt4, а не Enter который перехватывает макрос, то таких эффектов нет.

Ни в какую не могу понять в чем дело. Прошу помощи.

Shmuel
Posts: 5164
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR Search

Post by Shmuel » Sat 08 Jul, 2017 00:25

Dennis_Moore,
По умолчанию, при исполнении макроса запрещена перерисовка экрана.
Либо поставьте в макросе Flags="EnableOutput", либо замените Keys("Alt4") на Keys("EnOut Alt4").

buniak_a_h
Posts: 313
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 34 times
Been thanked: 4 times
Contact:

LuaFAR Search

Post by buniak_a_h » Sat 08 Jul, 2017 01:16

Dennis_Moore wrote:
Sat 01 Jul, 2017 20:58
Вот. Топорно, зато работает и вашу задачу решает
На самом деле не так "топорно", но задача установки фильтра из макроса (более корректно) решена в макросе panelfilter.lua (Author: Maxim Gonchar; Modifications: Shmuel Zeigerman). Во всяком случае там не последовательность нажатий DOWN, TAB и т.п., а переход на элементы меню по имени (командой Menu.Select). Но - спасибо.
На самом деле хотелось бы иметь "активный" ("процедурный") фильтр: не перечень условий, а вызов некой процедура: на входе - panel.item, на выходе - visible. Так можно было бы отфильтровывать по совершенно неожиданным условиям (например, модули, отличающиеся от сохранённых в репозитории SVN/GIT).
Такая же идеология была бы полезна для раскраски файлов (например, к примеру с SVN/GIT: среди отфильтрованных файлов изменённые - одним цветом, конфликтные - другим, устаревшие - третьим и т.д.).
Может, такая возможность есть, просто я не знаю? Напрашивается...

User avatar
HaRT
Moderator
Posts: 8048
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 67 times
Been thanked: 100 times

LuaFAR Search

Post by HaRT » Sat 08 Jul, 2017 20:38

buniak_a_h wrote:
Sat 08 Jul, 2017 01:16
"активный" ("процедурный") фильтр: не перечень условий, а вызов некой процедура: на входе - panel.item, на выходе - visible
В таком виде это бы дико тормозило при большом кол-ве файлов. Если что-то подобное и делать, то фильтровать надо сразу целую директорию, а это и так можно сделать — панельным плагином.
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 313
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 34 times
Been thanked: 4 times
Contact:

LuaFAR Search

Post by buniak_a_h » Sat 08 Jul, 2017 21:22

HaRT wrote:
Sat 08 Jul, 2017 20:38
buniak_a_h wrote:
Sat 08 Jul, 2017 01:16
"активный" ("процедурный") фильтр: не перечень условий, а вызов некой процедура: на входе - panel.item, на выходе - visible
  1. В таком виде это бы дико тормозило при большом кол-ве файлов.
    Никто ж не заставляет пользоваться такой фичей! Но... Бывает, что в не особо больших папках фильтр очень хитрый (например, *.db и чтоб было поле с именем G32, и чтоб G32 > 5). Сейчас я такие задачи решаю помещением отобранных файлов в список, который используется как временная панель. Работает, но через задний проход как-то...
  2. Если что-то подобное и делать, то фильтровать надо сразу целую директорию, а это и так можно сделать — панельным плагином.
    Вот это я не понял. Что за панельный плагин? Или имеется в виду самому написать?
  3. Кстати, интересная появилась идея: на входе - имя папки (или список всех item-ов без фильтрации); на выходе (StdOut) - список отфильтрованных item-ов. Процедура (или макрос) вызывается при смене папки либо при обновлении содержимого. Это был бы красивый компромисс: и эффективно, и гибко.

Shmuel
Posts: 5164
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR Search

Post by Shmuel » Sat 08 Jul, 2017 21:29

buniak_a_h, HaRT, нельзя ли эту интересную тему обсудить где-то в другом месте?

User avatar
Mauro72
Posts: 210
Joined: Wed 11 Aug, 2010 00:23
Location: Rosario, Argentina
Been thanked: 9 times

LuaFAR Search

Post by Mauro72 » Sat 29 Jul, 2017 17:26

Hi Shmuel..
Update Spanish translation.
Attachments
lfs_spa.lng.7z
(2.22 KiB) Downloaded 3 times

Shmuel
Posts: 5164
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 15 times
Been thanked: 145 times

LuaFAR Search

Post by Shmuel » Sat 29 Jul, 2017 18:05

Mauro72 wrote:
Sat 29 Jul, 2017 17:26
Update Spanish translation
Many thanks.

Post Reply

Return to “Обсуждение плагинов”