выделить все вхождения слова под курсором (@Xer0X & @citRiks)

Здесь обсуждается всё, что касается макросов.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Latest post of the previous page:

John Doe wrote: Sun 31 Jan, 2021 16:05 Если строка не содержит спецсимволов, или не компилируется в регэксп, то третий режим точно можно пропускать.
анный момент это уже не третит а второй, а по сути так и происходит,
после падения на регекспе выдается сообщение об ошибке и режим выделения отключается уже совсем
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

citRiks wrote: Sun 31 Jan, 2021 15:24
Ann wrote: Sun 31 Jan, 2021 11:17
Ну, что же. Остаётся, что называется, только молиться и на Бога уповать, чтобы Он дал Вам покрепче здоровья и побольше времени для свободного творчества.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Чтобы не жамкать кнопок лишний раз бестолку,
* сделано как некоторыми предлагалось, игнорирование РегЕксп режима,
если выражение априори "нерабочее" как регексп, или же наоборот тривиальное.
* косметика с целью юзабельности, и попутный рефакторинг
Все там же:
https://github.com/dr-dba/far-lua-editor-color-word/
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

citRiks wrote: Wed 03 Feb, 2021 21:58
Когда в редакторе Фара синий фон, то смещение курсора с первоначального слова после выделения идентичных слов приводит к тому, что данное первичное слово остаётся выделенным чёрным на белом фоне. А остальные выделенные искомые слова окрашены синим цветом на голубом фоне. И это удобно, т.к. хорошо различимы все выделенные слова и первичное слово заметно отличается от всех остальных.

А тем, кому приходится много работать в Ворде, удобнее, когда фон редактора Фара также, как и в Ворде, белый. А иначе и глаза быстро устают, и переключать сознание с одного типа раскраски текста на другой, существенно отличающийся, эмоционально весьма напряжно. Так вот, когда в редакторе Фара с белым фоном курсор смещается после выделения слов данным макросом, первичное слово становится практически не различимым и фактически теряется.

Подскажите, пожалуйста, как в макросе можно изменять настройки для Foreground и Background расцветок первичного слова.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Ann, думаю что я в следующей версии я запихну все расцветки в конфиг заголовка, это то что несложно и разумно сделать
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Ann, вот обещанное, настойка касается только цвета позиции оригинальной цитаты,
так как остальные раскраски это инверсии функцией.
можно и функцию сделать настраиваемой, но мне показалось что не нужно на этом этапе
https://github.com/dr-dba/far-lua-editor-color-word
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

citRiks wrote: Sat 06 Feb, 2021 12:10настойка касается только цвета позиции оригинальной цитаты
https://github.com/dr-dba/far-lua-editor-color-word
Для решения обозначенной мною проблемы этого вполне достаточно.
Спасибо.
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Ann,
чтобы два раза не вставать, и так как давно хотел,
добавил авто-выделение слова на котором стоим по всему тексту
Это наподобие как по Ф5 (без регекспа), но автоматически.
Так же как во всех адекватных IDE реализовано.
Т.е., сейчас так:
* Если мы в одном из режимов по Ф5, то игноруется текущее слово (если оно не является заданнум по Ф5 конечно)
* Если мы в без режима Ф5, т.е. в нормальном режиме, то подсвечиваем все слова как то на которм стоим.
Включено по умолчанию, отключается настройкой HIGH_CURR_WORD в скрипте
https://github.com/dr-dba/far-lua-editor-color-word
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

citRiks wrote: Sat 06 Feb, 2021 15:31 Если мы в без режима Ф5, т.е. в нормальном режиме, то подсвечиваем все слова как то на которм стоим
"Сомневаюсь я, Захар Захарыч!" — т.е. мне нужно присмотреться, навряд ли мне потребуется постоянное выделение слов, находящихся под курсором. Имхо, предпочтительно переключать этот режим по дополнительному ключу.
Если мы в одном из режимов по Ф5, то игноруется текущее слово (если оно не является заданнум по Ф5 конечно)
А вот это я вообще не понял. Поскольку мне это представляется путаницей. Лично мне не удобно думать одновременно о нескольких вещах.

И, простите, если следующий вопрос ламерский, но я раньше, кажется, не встречал в макросах, чтобы поле condition стояло выше поля key. Это что-то означает?
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Ann wrote: Sat 06 Feb, 2021 17:07 И, простите, если следующий вопрос ламерский, но я раньше, кажется, не встречал в макросах, чтобы поле condition стояло выше поля key. Это что-то означает?
не, ничего не означает, и не может означать
Если совсем упрощая, то в Луа значения в таблице не могут быть сортированы
случайность, у себя исправил, тож не нравится когда непорядок
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

Ann wrote: Sat 06 Feb, 2021 17:07 А вот это я вообще не понял. Поскольку мне это представляется путаницей. Лично мне не удобно думать одновременно о нескольких вещах.
эмм.. ну просто отключите и фсе.
будет желание - попробуйте эмпирически со включенным.
Last edited by citRiks on Sat 06 Feb, 2021 18:14, edited 1 time in total.
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

citRiks,

К базовому макросу на F5 – "выдел/снять все вхождения слова под курсором" очень напрашиваются дополнения типа: ShiftF5 – перейти к следующему выделенному слову и AltF5 – перейти к предыдущему выделенному слову.
Ann wrote: Sat 06 Feb, 2021 17:07
citRiks wrote: Sat 06 Feb, 2021 15:31 Если мы в без режима Ф5, т.е. в нормальном режиме, то подсвечиваем все слова как то, на котором стоим
Имхо, предпочтительно переключать этот режим по дополнительному ключу
И присмотревшись повнимательнее на разных типах файлов (обычные информативные тексты, с кодами, структурированные типа .ini и .xml) для себя убедился в том, что этот режим не автоматом нужен, а надо бы включать/выключать его отдельным ключом. И дополнить переходами по текущему слову вперёд/назад.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

выделить все вхождения слова под курсором

Post by John Doe »

Ann wrote: Sat 06 Feb, 2021 15:05 К базовому макросу на F5 – "выдел/снять все вхождения слова под курсором" очень напрашиваются дополнения типа: ShiftF5 – перейти к следующему выделенному слову и AltF5 – перейти к предыдущему выделенному слову.
Становится очень похоже на viewtopic.php?f=60&t=8802
https://t.me/FarManager — Telegram чат
User avatar
Ann
Posts: 478
Joined: Tue 26 Jun, 2007 11:05
Has thanked: 141 times
Been thanked: 45 times

выделить все вхождения слова под курсором

Post by Ann »

John Doe wrote: Sun 07 Feb, 2021 10:05Становится очень похоже на viewtopic.php?f=60&t=8802
Скриптом IncSearch — "быстрый поиск в редакторе" версии 2.10 я пользуюсь часто (и с благодарностью). Он очень быстро находит задаваемый пользователем фрагмент, если он есть в тексте, или позволяет убедиться, что такого фрагмента в тексте нет.

А предлагаемый уважаемым citRiks`ом Editor_F5_ColorWord действует несколько иначе. Он ищет в тексте фрагмент(ы) по одному из уже наличествующих в нём. И для решения иных задач это подходит больше.

Т.е. в одних случаях мне предпочтительнее IncSearch, а в других Editor_F5_ColorWord. Возможно, я не очень умело изложил различие между скриптами, но на практике я делаю выбор без колебаний, когда мне удобнее применить один инструмент, а когда другой. И мне комфортнее, когда оба они под рукой.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

выделить все вхождения слова под курсором

Post by John Doe »

Ann wrote: Sun 07 Feb, 2021 12:02 в одних случаях мне предпочтительнее IncSearch, а в других Editor_F5_ColorWord
IncSearch умеет выделять все вхождения слова, при использовании с плагином EditorFind.
Когда-то собирался и сам поиск (вместе с выделением) реализовать в скрипте, но руки не дошли (потому что и так неплохо работает).

А после вашего пожелания получается что в этой теме обратный процесс идёт, и в конечном счёте может оказаться что обсуждаемый тут скрипт покроет и функциональность IncSearch.
https://t.me/FarManager — Telegram чат
User avatar
citRiks
Posts: 1733
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 610 times
Been thanked: 102 times

выделить все вхождения слова под курсором

Post by citRiks »

* добавил ВКЛ/ВЫКЛ авто-хайлайта по CtrlF5,
* доделал логику автохайлайта работать также и с текущим выделением если оно есть.
https://github.com/dr-dba/far-lua-editor-color-word/
Post Reply

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