Page 3 of 14

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

Posted: Sun 25 Aug, 2019 17:16
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 29 times

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

Posted: Fri 01 Nov, 2019 07:02
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 кнопки за края диалога вылазили.
Специально чтоб больше не требовалось поправлять сделал мелкий сервис: если элемент диалога не помещается п горизонтали, он переносится на следующую строку (либо по центру, либо под верхней строкой); остальные элементы, соответственно, сдвигаются. Прикольно получилось :-)

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

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



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

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

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

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

Posted: Fri 01 Nov, 2019 09:32
by John Doe
А какой смысл экономить вертикальный размер диалога?

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

Posted: Fri 01 Nov, 2019 13:08
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 перенесся)

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

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

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

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

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

Posted: Fri 01 Nov, 2019 13:28
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)

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

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

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

Posted: Fri 01 Nov, 2019 13:46
by HaRT

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

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

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

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

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

Posted: Fri 01 Nov, 2019 14:30
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 как мы выше переписывались.
Итог - все работает. В диалоге опции переносятся. Спасибо!

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

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

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

Posted: Fri 01 Nov, 2019 21:00
by citRiks
buniak_a_h,

А у меня 1.08 что-то не взлетает: .

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

Posted: Fri 01 Nov, 2019 21:17
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.