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

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 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 11 times
Last edited by buniak_a_h on Wed 07 Feb, 2024 18:16, edited 31 times in total.
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

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

Post by dmitrik »

Latest post of the previous page:

А у меня другой вопрос. Можно как-то в настройках скрипта указать, чтобы панель с результатами поиска сразу открывалась развернутой? Т.е., чтобы не нужно было F5 нажимать?
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

dmitrik wrote: Wed 07 Feb, 2024 11:41 чтобы не нужно было F5 нажимать
О как он, оказывается, умеет! А я и забыл.
Да легко!
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

dmitrik wrote: Wed 07 Feb, 2024 11:41 Можно как-то в настройках скрипта указать, чтобы панель с результатами поиска сразу открывалась развернутой? Т.е., чтобы не нужно было F5 нажимать?
Версия 1.1.7
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

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

Post by dmitrik »

buniak_a_h wrote: Wed 07 Feb, 2024 18:14 Можно как-то в настройках скрипта указать, чтобы панель с результатами поиска сразу открывалась развернутой? Т.е., чтобы не нужно было F5 нажимать?
А какую настройку крутить? Я нашел Zoomed=false в Find_n_Go.lua, поменял на true, но это всё сломало.
Last edited by dmitrik on Wed 07 Feb, 2024 19:07, edited 2 times in total.
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

dmitrik wrote: Wed 07 Feb, 2024 19:01 А какую настройку крутить?
F9 -> Options -> Plugins configuration -> BAX - Скрипт Find_n_Go. Получаете окно настройки скрипта
╔═════════════ Настройка кодовых страниц в зависимости от расширения файла ══════════════╗ ║ ║ ║ Колич. строк, показываемых в предпросмотре ДО и ПОСЛЕ найденной строки 3 ║ ║ [ ] Показывать номера строк [x] Показывать результаты в распахнутом окне ║ <====== ╟──────────────────────────────────── Область поиска ────────────────────────────────────╢ ║ (•) Автоматически ( ) На диске ( ) На панели ║ ║ ┌─────────────────────────────────────────────────────────────────────┐ ║ ║ │ *.lua,*.fml,*.fmlua,*.hlf,*.lng │ ║ ║ │ *.pas,*.dfm,*.dpr,*.inc │ ║ ║ │ *.prg,*.ch,*.bat,*.cmd │ ║ ║ │ <Добавить маску> │ ║ ║ │ │ ║ ║ │ │ ║ ║ │ │ ║ ║ │ │ ║ ║ │ │ ║ ║ └─────────────────────────────────────────────────────────────────────┘ ║ ║ ║ ║ Маска файла:*.lua,*.fml,*.fmlua,*.hlf,*.lng (•) UTF ( ) ANSI( ) OEM => ║ ╟────────────────────────────────────────────────────────────────────────────────────────╢ ║ { Ok } [ Cancel ] ║ ╚════════════════════════════════════════════════════════════════════════════════════════╝
Last edited by buniak_a_h on Wed 07 Feb, 2024 19:22, edited 1 time in total.
User avatar
HaRT
Moderator
Posts: 10800
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 219 times
Been thanked: 353 times

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

Post by HaRT »

buniak_a_h wrote: Wed 07 Feb, 2024 19:19 окно настройки скрипта
Сам я скриптом не пользуюсь, но взгляд зацепился за изображение… Из каких соображений внутренняя (одинарная) рамка со списками масок настолько у́же, чем внутренность диалога? Ведь списки масок бываю ооочень длинные. Также там, где маска повторена внизу, доступное ей пространство неоправданно заужено (и пропущен пробел после двоеточия слева).
И ещё одна блоха: написано UTF, но UTFы бывают разные; очевидно, имелось в виду UTF-8. Кстати, справа от ANSI тоже пропущен пробел.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Wed 07 Feb, 2024 20:06 Из каких соображений внутренняя (одинарная) рамка со списками масок настолько у́же, чем внутренность диалога?
Это - листбокс. Мне казалось, этого должно хватить; но если чо, горизонтальный скроллинг по Alt+стрелки я не отменял (не проверялось). Можно, конечно, расширить его, но мне нравится так (чисто эстетически).
HaRT wrote: Wed 07 Feb, 2024 20:06 списки масок бываю ооочень длинные
Для ввода/редактирования масок имеется поле ввода (DI_EDIT) внизу под листбоксом.
HaRT wrote: Wed 07 Feb, 2024 20:06 там, где маска повторена внизу, доступное ей пространство неоправданно заужено
Да там, вроде, уже нет запаса (ну, почти - 4 символа слева и 3 справа).
HaRT wrote: Wed 07 Feb, 2024 20:06 пропущен пробел после двоеточия слева
Т.к. там DI_TEXT соседствует с DI_EDIT, то дискомфорта не возникает ().
User avatar
HaRT
Moderator
Posts: 10800
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 219 times
Been thanked: 353 times

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

Post by HaRT »

buniak_a_h wrote: Wed 07 Feb, 2024 20:23 (чисто эстетически)
buniak_a_h wrote: Wed 07 Feb, 2024 20:23 дискомфорта не возникает
Ну, , вот я и решил малость подсобить.
buniak_a_h wrote: Wed 07 Feb, 2024 20:23см. картинку
Вижу, что в диалоге явно не хватает горячих клавиш.

Также, возможно, от вас ускользнуло .
Фар есть инструмент, а не нянька. © 2009 DrKnS
dmitrik
Posts: 124
Joined: Mon 30 Nov, 2009 21:58
Has thanked: 1 time
Been thanked: 4 times

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

Post by dmitrik »

buniak_a_h wrote: Wed 07 Feb, 2024 19:19 F9 -> Options -> Plugins configuration -> BAX - Скрипт Find_n_Go. Получаете окно настройки скрипта
Семён Семёныч! (с)

Идеально. Спасибо! 👍
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Wed 07 Feb, 2024 20:36 Ну, вы публично признавали, что у вас с этим сложности, вот я и решил малость подсобить.
Спасибо. Учту. Я не спорил, просто пытался объяснить.
HaRT wrote: Wed 07 Feb, 2024 20:36
buniak_a_h wrote: Wed 07 Feb, 2024 20:23см. картинку
Вижу, что в диалоге явно не хватает горячих клавиш.
Согласен. В этом диалоге изначально почти не было элементов, получающих фокус, так что было некритично. Теперь, видимо, пора вводить. Всё это - в lng-файле. Одна беда: выход по горячей клавише из листбокса не происходит; придётся программировать… :(
HaRT wrote: Wed 07 Feb, 2024 20:36 Также, возможно, от вас ускользнуло дополнение, которое я вписал уже после первоначального текста
Да, действительно, этого я не видел. Естественно, имеется в виду - UTF-8. Более того! файлы в кодировке UTF-16LE не читаются функцией file:read"*l" (точнее, не разбиваются на строки). В тех скриптах, где мне надо было читать файл в кодировке UTF-16LE, я читаю весь файл (file:read"*a"), перекодирую в UTF-8 и только потом разбиваю на строки. Товарисч хотел ускорить поиск на сетевой папке; соответственно, это обстоятельство препятствует ускорению поиска путем ограничения анализируемых строк. Надо будет в описании скрипта указать, что он работает только с файлами в кодировках OEM, ANSI и UTF-8. Этого хватит, чтоб не указывать везде UTF-8?
User avatar
HaRT
Moderator
Posts: 10800
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 219 times
Been thanked: 353 times

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

Post by HaRT »

buniak_a_h wrote: Wed 07 Feb, 2024 21:10 это обстоятельство препятствует ускорению поиска путем ограничения анализируемых строк
Можно же для этого случая ввести ограничение в байтах. Оно и при успешном разбиении не помешает, если строки очень длинные.
buniak_a_h wrote: Wed 07 Feb, 2024 21:10 работает только с файлами в кодировках OEM, ANSI и UTF-8
Не боитесь упрёков со стороны олдфагов, что нет суконно-посконной KOI8-R?
buniak_a_h wrote: Wed 07 Feb, 2024 21:10 Этого хватит, чтоб не указывать везде UTF-8?
Не понял ваш вопрос. Кодировка называется UTF-8, и это уже сокращённое название, дальше сокращать уже нельзя.
Last edited by HaRT on Wed 07 Feb, 2024 21:52, edited 1 time in total.
Reason: Текст существенно дополнен
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4225
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 219 times
Been thanked: 637 times
Contact:

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

Post by buniak_a_h »

HaRT wrote: Wed 07 Feb, 2024 21:46 Не боитесь упрёков со стороны олдфагов, что нет суконно-посконной KOI-8?
Честно? Не боюсь.
  1. Делал для себя. У меня были проги на Pascal, C (ANSI), Harbor,BAT (OEM) и LUA (UTF-8).
  2. Нельзя объять необъятное :-)
User avatar
HaRT
Moderator
Posts: 10800
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 219 times
Been thanked: 353 times

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

Post by HaRT »

buniak_a_h, обратите, пожалуйста, внимание, я опять дополнил своё сообщение. Вот такой я итерационный писатель.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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