Синхронизация редактора с результатами поиска (Show All)

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

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

У плагина LuaFAR Search имеется удобная фишка, почему-то не реализованная в стандартном поиске: при показе ВСЕХ найденных строк при переходе по найденным строкам редактор позиционируется на соответствующей строке. Сделал я небольшой макрос, делающий аналогичную вещь.
Макрос состоит из четырёх обработчиков событий (два для стандартного диалога поиска и два для поиска по плагину RESearch). Первый Event читает параметры поиска, второй поддерживает переход по найденным строкам. Общая функция преобразовывает строку в координаты и реализует позиционирование и раскраску найденного.




В скрипте используется мой модуль "Расширение GetMsg" Уже не используется.
EditorFindAllList.lua.1_4_1.7z
(3.86 KiB) Downloaded 317 times
Версия 1.5.1 - обещанная фильтрация по вхождению в блок (CtrlH)
EditorFindAllList.lua.1_5_1.7z
С фильтрацией. Увы, в списке айденного пропадает раскраска .
(4.39 KiB) Downloaded 324 times
Версия 1.5.5
EditorFindAllList.lua-1-5-5.7z
(4.67 KiB) Downloaded 167 times
Версия 1.5.7
EditorFindAllList.lua-1-5-7.7z
(4.95 KiB) Downloaded 39 times
Версия 1.5.9
EditorFindAllList.lua-1-5-9.7z
(5.2 KiB) Downloaded 24 times
Last edited by buniak_a_h on Thu 02 Oct, 2025 05:10, edited 12 times in total.
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Latest post of the previous page:

Вышла версия 1.5.6 (с подачи Kadaner). Начиная с версии 6548 появилась возможность номер строки и позиции найденного образца вставлять в Extended Data элемента МЕНЮ; т.о. нахождение их в тексте стало излишним. Соответственно, стал ненужным синтаксический разбор строки с целью получения координат найденного образца.
Shmuel
Posts: 7243
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 635 times

Синхронизация редактора с результатами поиска (Show All)

Post by Shmuel »

buniak_a_h wrote: Tue 16 Sep, 2025 15:11 Вышла версия 1.5.6
Сейчас попробовал.
  • Образец поиска \w+
  • Регулярные выражения включены.
    При перемещении по меню некорректно подсвечиваются части текста.
    image.png
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Shmuel wrote: Tue 16 Sep, 2025 16:04
buniak_a_h wrote: Tue 16 Sep, 2025 15:11 Вышла версия 1.5.6
Сейчас попробовал.
  • Образец поиска \w+
  • Регулярные выражения включены.
    При перемещении по меню некорректно подсвечиваются части текста.
    image.png
Ой, спасибо! Дикое количество ошибок нашёл!
Сию перевыложу…
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Вышла версия 1.5.7.
Исправлена целая куча ошибок, приводившая к тому, что новый способ определения координат подсветки (тот, что через Menu.GetItemExtendedData) использовался только при отсутствии координат в строке, а параметр Length не использовался вовсе.
Last edited by buniak_a_h on Tue 16 Sep, 2025 19:23, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Выпустил версию 1.5.8:
  1. Предотвращен вылет (с крашем ФАРа!) при использовании для поиска плагина RESearch.
  2. Предотвращен такой же вылет при вызове другого диалога из меню результатов поиска.
  3. Предотвращен вылет при вызове другого меню.
Shmuel
Posts: 7243
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 635 times

Синхронизация редактора с результатами поиска (Show All)

Post by Shmuel »

buniak_a_h wrote: Wed 01 Oct, 2025 13:16 Выпустил версию 1.5.8:
Может быть надо что-то сначала настроить, но "из коробки" этот скрипт у меня не работает. Нет подсветки найденного и нет скроллинга редактора при перемещении по меню.
Аналогичный скрипт из Addons\Macros у меня работает (пробовал эти скрипты по отдельности, не вместе).
Far.x64.3.0.6563.4564.
Last edited by Shmuel on Wed 01 Oct, 2025 19:06, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Shmuel wrote: Wed 01 Oct, 2025 19:01 "из коробки" этот скрипт у меня не работает
После обновления на 6566 у меня тоже не работает. То ли надо искать версию, когда всё сломалось, то ли искать причину. Завтра…
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Уважаемый Shmuel! У Вас есть скрипт, позволяющий методом половинного деления найти версию, на которой нечто перестало работать. Не могли бы Вы найти? Если есть время. На версии 6539 работало точно. По-моему, и на 6550. Увы, не сохранился номер версии, с которой я обновился (Эх! У renewal лога не хватает!!!)
P/S. В версии 6558 ещё работает, а в версии 6563 - уже нет. Копаю дальше.
Last edited by buniak_a_h on Thu 02 Oct, 2025 04:22, edited 2 times in total.
Shmuel
Posts: 7243
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 48 times
Been thanked: 635 times

Синхронизация редактора с результатами поиска (Show All)

Post by Shmuel »

buniak_a_h wrote: Thu 02 Oct, 2025 03:56 Не могли бы Вы найти?
6561-6563 - не работает.
6558-6560 - работает, но с образцом поиска \b\w+ подсвечивает правильно только первое слово в строке, а дальше длина подсветки неправильная.
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Shmuel, спасибо. Забыл убрать отладку, которая всё портила.
Для скорости: в строке 123 удалите and false. Версию заменю
User avatar
buniak_a_h
Posts: 4559
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 674 times
Contact:

Синхронизация редактора с результатами поиска (Show All)

Post by buniak_a_h »

Версия 1.5.9
Исправлена мелкая, но значительная ошибка: в чистовую весию попал кусок, сделанный для отладки.
Last edited by buniak_a_h on Thu 02 Oct, 2025 05:12, edited 1 time in total.
User avatar
Kadaner
Posts: 70
Joined: Sun 28 Jan, 2018 05:00
Has thanked: 7 times
Been thanked: 3 times

Синхронизация редактора с результатами поиска (Show All)

Post by Kadaner »

Kadaner wrote: Thu 15 May, 2025 02:05 Координаты будут отображаться, но не будут частью строки элемента меню.
6683
Post Reply

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