Page 1 of 1

FAR Editor: Find All

Posted: Fri 28 Jul, 2017 17:57
by DV
Есть вопрос/пожелание к поиску всех вхождений в редакторе. Конкретно для следующего сценария:
1. Выделяем слово (или несколько слов) в редакторе;
2. Нажимаем F7 (поиск)
3. В окне поиска нажимаем кнопку [ Selection ]
4. Нажимаем кнопку [ All ]

Во время шагов 1-3 всё было прекрасно.
На четвёртом же шаге (при нажатии кнопки [ All ]) происходит вот что:
1) в редакторе снимается выделение со слова (или нескольких слов) в редакторе;
2) в появившемся списке результатов активным элементом является первый, а не тот, который соответствует текущей строке в редакторе (из которой было взято выделенное слово).

Просьба исправить ситуацию по обоим пунктам:
1) когда искомое слово (слова) совпадает с выделенным, то выделение в редакторе не должно сниматься по нажатию кнопки [ All ] в диалоге поиска;
2) при поиске слова (слов), полученного в результате нажатия кнопки [ Selection ] или [ Word ] в диалоге поиска, активным элементом в списке результатов (после нажатия кнопки [ All ]) должен быть тот, который соответствует текущей строке в редакторе (из которой было взято выделенное слово или просто слово под кареткой).

FAR Editor: Find All

Posted: Fri 28 Jul, 2017 18:07
by HaRT
DV wrote:
Fri 28 Jul, 2017 17:57
активным элементом в списке результатов
По п.2: строго говоря, хочется получить разумную текущую позицию безотносительно того, каким способом получена строка для поиска.
На мой взгляд, разумным является первое вхождение при поиске назад/вперёд от каретки — в зависимости от [ ] Reverse search.

FAR Editor: Find All

Posted: Fri 28 Jul, 2017 19:14
by DV
HaRT wrote:
Fri 28 Jul, 2017 18:07
По п.2: строго говоря, хочется получить разумную текущую позицию безотносительно того, каким способом получена строка для поиска.
Согласен, когда искомое слово не совпадает с текущим (выделенным) в редакторе, то логично переходить в списке к ближайшему вхождению. Если же искомое слово совпадает с текущим (выделенным) в редакторе, тогда так, как я писал выше.

Подумал ещё над первым пунктом: в принципе, он не связан конкретно с тем, совпадает ли искомое слово с выделенным в редакторе или нет. Более общим правилом будет такое: до тех пор, пока из результатов поиска не потребуется изменить выделение в редакторе явно (например, при переходе на другую строку, соответствующую результату поиска), выделение в редакторе меняться не должно. То есть по нажатию кнопки [ All ] выделение в редакторе может измениться исключительно в том случае, когда искомая строка не совпадает с выделенным в редакторе и если в результате нажатия кнопки [ All ] текущая строка в редакторе меняется, чтобы соответствовать ближайшему найденному вхождению в списке результатов поиска.

FAR Editor: Find All

Posted: Fri 28 Jul, 2017 19:28
by HaRT
DV wrote:
Fri 28 Jul, 2017 19:14
Если же искомое слово совпадает с текущим (выделенным) в редакторе, тогда так, как я писал выше.
Мне кажется, что я просто описал более общий случай. Или Вы можете привести пример, когда искомое совпадает с пред-выделенным и из-за этого текущая позиция в списке найденного должна быть другой?
Прошу заметить, что я говорю именно о каретке, поскольку в режиме постоянных блоков текущее выделение может быть совсем в другом месте.

FAR Editor: Find All

Posted: Fri 28 Jul, 2017 19:51
by DV
HaRT wrote:
Fri 28 Jul, 2017 19:28
Мне кажется, что я просто описал более общий случай.
Да, верно.
Я просто хотел подчеркнуть, что если текущее (выделенное) слово у каретки уже совпадает с искомым, то не нужно сдвигаться дальше вверх или вниз, так как оно уже как бы найдено :)

FAR Editor: Find All

Posted: Mon 31 Jul, 2017 15:18
by DV
Разместить как пожелание на bugs.farmanager?

FAR Editor: Find All

Posted: Mon 31 Jul, 2017 15:58
by HaRT
DV wrote:
Mon 31 Jul, 2017 15:18
Разместить как пожелание на bugs.farmanager?
Да, было бы неплохо.
И не забудьте, пожалуйста, не только описать там конкретно, что требуется, но и дать там ссылку на это обсуждение (а тут — на созданный запрос).

FAR Editor: Find All

Posted: Tue 01 Aug, 2017 09:12
by DV

FAR Editor: Find All

Posted: Mon 14 Aug, 2017 15:35
by DV
Обновил, добавив ещё одну "хотелку":
По нажатию Ctrl+Ins в окне результатов поиска копировать в буфер обмена текст текущего элемента.
В данном случае выделения и копирования с помощью Alt+Ins недостаточно, поскольку найденная строка может быть длиннее окна результатов поиска.

FAR Editor: Find All

Posted: Mon 14 Aug, 2017 15:57
by John Doe
DV wrote:
Mon 14 Aug, 2017 15:35
По нажатию Ctrl+Ins в окне результатов поиска копировать в буфер обмена текст текущего элемента.
Макросом несложно скопировать всю строку.

FAR Editor: Find All

Posted: Mon 14 Aug, 2017 16:25
by Shmuel
John Doe wrote:
Mon 14 Aug, 2017 15:57
Макросом несложно скопировать всю строку
, но правильнее сделать это из коробки.

FAR Editor: Find All

Posted: Fri 29 Nov, 2019 15:20
by DV
Пример макроса для того, чтобы в окне результатов поиска (Find All) текущий элемент соответствовал текущей строке в редакторе: