Find & Go - Поиск с предпросмотром и переходом

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

Мне надоело после окончания поиска файлов, содержащих строки, открывать найденные файлы и повторять поиск (особенно, если поиск в файлах по регэкспу с помощь. плагинов, а поиск в файле настроен не через эти плагины. А также если имеется несколько строк, удовлетворяющих критерию поиска, и надо перейти на конкретную). В результате родился предлагаемый к обсуждению макрос.
Его отличия от поиска по CtrlF7:
  1. Образец может быть регэкспом в формате LUA или Perl
  2. В результатах показывается найденная строка (как GREP), а также 3 строки выше и ниже найденной
  3. При переходе на выбранную строку редактор сразу позиционируется на неё.
  4. Можно отметить несколько найденных строк (по одной в каждом файле), и тогда в редакторе будут открыты все отмеченные файлы (также с позиционированием на отмеченных строках)
  5. Из результатов поиска можно удалять "мешающие" строки
  6. Можно сворачивать - разворачивать строки, принадлежащие одному файлу
Окно поиска:
Image
Процесс поиска:
Image
Результат:
Image
Обратите внимание: в результате строки файлов BaseLoad.pas b CHECK2TU.PAS "схлопнуты" (Condensed); несколько строк помечены. Внизу окна выведены 7 строк возле текущей (3 выше и 3 ниже)
Find_n_Go.1_1_7.7z
(31.34 KiB) Downloaded 20 times
Last edited by buniak_a_h on Wed 07 Feb, 2024 18:16, edited 31 times in total.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

Latest post of the previous page:

stefanenko wrote: Thu 31 Oct, 2019 13:26 Можно ли сделать сохранение опции "На диске" или "На панели" ?
Мне к примеру никогда не нужно искать по диску.
Или где в скрипте сделать по дефолту "На панели"

Спасибо!
Сделал настройку. Диск/Панель/Авто
Для авто логика такая: если панель - временная, либо на панели есть отмеченные файлы, то изначально устанавливается "На панели"; иначе- "На диске".
При настройке, отличной от "Авто" устанавливается соответствующий выбор.
Переключить можно при инициации поиска.
stefanenko wrote: Thu 31 Oct, 2019 23:59 Кстати пришлось еще чутка поправить т.к. на обычном мониторе некоторые RADIO кнопки за края диалога вылазили.
Специально чтоб больше не требовалось поправлять сделал мелкий сервис: если элемент диалога не помещается п горизонтали, он переносится на следующую строку (либо по центру, либо под верхней строкой); остальные элементы, соответственно, сдвигаются. Прикольно получилось :-)
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

buniak_a_h wrote: Fri 01 Nov, 2019 07:02 Специально чтоб больше не требовалось поправлять сделал мелкий сервис: если элемент диалога не помещается п горизонтали, он переносится на следующую строку
Несколько картинок:



Ничего не переделывал, всё само получилось!
stefanenko
Posts: 142
Joined: Sun 20 Jun, 2010 12:37
Has thanked: 49 times
Been thanked: 7 times

Find & Go - Поиск с предпросмотром и переходом

Post by stefanenko »

У меня вот так получается.
2019-11-01_16-50-58.png
Экран 1280х1024
Windows 10
Снизу открыл настройки ConEmu (может в нем дело). Хотя и без него при уменьшении ширины экрана все ломается.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by John Doe »

А какой смысл экономить вертикальный размер диалога?
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

stefanenko wrote: Fri 01 Nov, 2019 07:56 Экран 1280х1024
Экран значения не имеет, интереснее ширина и высота ФАРа в знакоместах . Наберите в командной строке
lua:=Far.Width, Far.Height
и напишите, что говорит. Ну и проверьте, действительно ли у Вас версия 1.0.7 - написано в строке 97 . Потому что у меня при Far.Width=105 тоже под ConEmu получается так:
image.png
(Стрелкой показано, что Plain text перенесся)
Last edited by buniak_a_h on Fri 01 Nov, 2019 13:11, edited 2 times in total.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

John Doe wrote: Fri 01 Nov, 2019 09:32 А какой смысл экономить вертикальный размер диалога?
А я не понял вопроса.
Если Вы имеете в виду, что перенести сразу, то просто некрасиво, когда связанные в одну группу радиокнопки расположены вертикально. Когда это - вынужденно, приходится мириться.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by John Doe »

А мне например наоборот, предпочтительнее столбцом, нагляднее.
И только если группы две - тогда вторым столбцом.
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

stefanenko,
buniak_a_h wrote: Fri 01 Nov, 2019 13:08 проверьте, действительно ли у Вас версия 1.0.7
Ещё проверьте, новые ли модули из архива (%FARPROFILE%\Macros\modules\BAX\BaxUtils.lua и %FARPROFILE%\Macros\modules\BAX\GetMsg.lua)
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

John Doe wrote: Fri 01 Nov, 2019 13:27 А мне например наоборот, предпочтительнее столбцом, нагляднее.
И только если группы две - тогда вторым столбцом.
Групп две, и перед каждой заголовок.
User avatar
HaRT
Moderator
Posts: 10806
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 220 times
Been thanked: 357 times

Find & Go - Поиск с предпросмотром и переходом

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by John Doe »

Групп две, и перед каждой заголовок.
Вот как по мне - два столбца было бы в 10 раз лучше, чем две строки.
buniak_a_h wrote: Fri 01 Nov, 2019 13:34 В стабильной версии обе отрабатывают нормально.
Попробуйте настройки по умолчанию. Если поможет, то см. System.Executor.*
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

HaRT wrote: Fri 01 Nov, 2019 13:46 Пробелы в значении переменной есть? Если да, то дело в них, и надо закавычить.
Спасибо. Забыл посмотреть, что в %FarProfile%
stefanenko
Posts: 142
Joined: Sun 20 Jun, 2010 12:37
Has thanked: 49 times
Been thanked: 7 times

Find & Go - Поиск с предпросмотром и переходом

Post by stefanenko »

buniak_a_h wrote: Fri 01 Nov, 2019 13:28 Ещё проверьте, новые ли модули
Да, извиняюсь. Мой косяк. стояла версия 1.06
После установки 1.07 стала вылазить ошибка

Code: Select all

...ing\Far Manager\Profile\Macros\scripts\Bax\Find_n_Go.lua:211: attempt to index local 'ListItems' (a nil value) stack traceback:
...ing\Far Manager\Profile\Macros\scripts\Bax\Find_n_Go.lua: in function 'Dialog_Exec'
...ing\Far Manager\Profile\Macros\scripts\Bax\Find_n_Go.lua:918: in function <...ing\Far Manager\Profile\Macros\scripts\Bax\Find_n_Go.lua:917>
От нее избавился исправлением на Checked=0 и Checked=1 как мы выше переписывались.
Итог - все работает. В диалоге опции переносятся. Спасибо!
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

stefanenko wrote: Fri 01 Nov, 2019 14:30 После установки 1.07 стала вылазить ошибка
Спасибо, исправил...
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

Find & Go - Поиск с предпросмотром и переходом

Post by citRiks »

buniak_a_h,

А у меня 1.08 что-то не взлетает: .
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

Find & Go - Поиск с предпросмотром и переходом

Post by buniak_a_h »

citRiks wrote: Fri 01 Nov, 2019 21:00 buniak_a_h,

А у меня 1.08 что-то не взлетает: .
У Вас, видимо, старая %FARPROFILE%\Macros\modules\BAX\GetMsg.lua
Последней строкой д.б. return GetMsg.
Last edited by buniak_a_h on Fri 01 Nov, 2019 21:55, edited 1 time in total.
Post Reply

Return to “Обсуждение макросов”