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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 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_2a.7z
Перезалил с модулями
(27.27 KiB) Downloaded 40 times
Last edited by buniak_a_h on Thu 07 May, 2020 23:55, edited 26 times in total.

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 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 кнопки за края диалога вылазили.
Специально чтоб больше не требовалось поправлять сделал мелкий сервис: если элемент диалога не помещается п горизонтали, он переносится на следующую строку (либо по центру, либо под верхней строкой); остальные элементы, соответственно, сдвигаются. Прикольно получилось :-)

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

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

Post by buniak_a_h »

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



Ничего не переделывал, всё само получилось!

stefanenko
Posts: 126
Joined: Sun 20 Jun, 2010 12:37
Has thanked: 33 times
Been thanked: 4 times

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

Post by stefanenko »

У меня вот так получается.
2019-11-01_16-50-58.png
Экран 1280х1024
Windows 10
Снизу открыл настройки ConEmu (может в нем дело). Хотя и без него при уменьшении ширины экрана все ломается.

User avatar
John Doe
Бюрократ
Posts: 12838
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

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

Post by John Doe »

А какой смысл экономить вертикальный размер диалога?

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 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.

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

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

Post by buniak_a_h »

John Doe wrote:
Fri 01 Nov, 2019 09:32
А какой смысл экономить вертикальный размер диалога?
А я не понял вопроса.
Если Вы имеете в виду, что перенести сразу, то просто некрасиво, когда связанные в одну группу радиокнопки расположены вертикально. Когда это - вынужденно, приходится мириться.

User avatar
John Doe
Бюрократ
Posts: 12838
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

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

Post by John Doe »

А мне например наоборот, предпочтительнее столбцом, нагляднее.
И только если группы две - тогда вторым столбцом.

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 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)

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

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

Post by buniak_a_h »

John Doe wrote:
Fri 01 Nov, 2019 13:27
А мне например наоборот, предпочтительнее столбцом, нагляднее.
И только если группы две - тогда вторым столбцом.
Групп две, и перед каждой заголовок.

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

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

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12838
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 290 times

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

Post by John Doe »

Групп две, и перед каждой заголовок.
Вот как по мне - два столбца было бы в 10 раз лучше, чем две строки.
buniak_a_h wrote:
Fri 01 Nov, 2019 13:34
В стабильной версии обе отрабатывают нормально.
Попробуйте настройки по умолчанию. Если поможет, то см. System.Executor.*

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

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

Post by buniak_a_h »

HaRT wrote:
Fri 01 Nov, 2019 13:46
Пробелы в значении переменной есть? Если да, то дело в них, и надо закавычить.
Спасибо. Забыл посмотреть, что в %FarProfile%

stefanenko
Posts: 126
Joined: Sun 20 Jun, 2010 12:37
Has thanked: 33 times
Been thanked: 4 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 как мы выше переписывались.
Итог - все работает. В диалоге опции переносятся. Спасибо!

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 times
Contact:

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

Post by buniak_a_h »

stefanenko wrote:
Fri 01 Nov, 2019 14:30
После установки 1.07 стала вылазить ошибка
Спасибо, исправил...

citRiks
Posts: 702
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 211 times
Been thanked: 44 times

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

Post by citRiks »

buniak_a_h,

А у меня 1.08 что-то не взлетает: .
А кто не поверит в наше миролюбие,
Тот кровью умоется.
И будет такая борьба за мир,
Что камня на камне не останется.

buniak_a_h
Posts: 1933
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 124 times
Been thanked: 183 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 “Обсуждение макросов”