Расширение скриптами функциональности поиска/замены в редакторе

Здесь обсуждается всё, что касается макросов.
User avatar
HaRT
Moderator
Posts: 11448
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 416 times

Расширение скриптами функциональности поиска/замены в редакторе

Post by HaRT »

Latest post of the previous page:

buniak_a_h wrote: Tue 19 Dec, 2023 19:28 Если это надо, то я могу сделать раскраску найденного образца (аналогично моему скрипту
Спасибо, но на мой взгляд это уже чересчур. Вот если бы можно было как-то заставить Колорер раскрасить текущий экран под диалогом, желательно тоже в фоне, пока я принимаю решение о замене…
buniak_a_h wrote: Tue 19 Dec, 2023 19:28 У меня нормально синхронизируется
И по ShiftF7/AltF7 тоже? (Напомню, крест перед продолжением поиска должен показываться в пределах того же экрана.)
buniak_a_h wrote: Tue 19 Dec, 2023 19:28 если в схеме крест включён, то он должен остаться включенным
У меня в основных настройках Колорера выставлено показывать крест всегда, независимо от настроек схемы (там трёхпозиционный переключатель).
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4558
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 673 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by buniak_a_h »

HaRT wrote: Tue 19 Dec, 2023 19:41
buniak_a_h wrote: Tue 19 Dec, 2023 19:28 Если это надо, то я могу сделать раскраску найденного образца (аналогично моему скрипту
Спасибо, но на мой взгляд это уже чересчур. Вот если бы можно было как-то заставить Колорер раскрасить текущий экран под диалогом, желательно тоже в фоне, пока я принимаю решение о замене…
Я думаю, это не ко мне, а к авторам Колорера…
HaRT wrote: Tue 19 Dec, 2023 19:41
buniak_a_h wrote: Tue 19 Dec, 2023 19:28 У меня нормально синхронизируется
И по ShiftF7/AltF7 тоже? (Напомню, крест перед продолжением поиска должен показываться в пределах того же экрана.)
У меня вообще один экран (текстик маленький). Может, в этом дело? Хотя, нет. На большом проверил. Замена a на a - уж всяко в пределах одного экрана находит ;-)
HaRT wrote: Tue 19 Dec, 2023 19:41
buniak_a_h wrote: Tue 19 Dec, 2023 19:28 если в схеме крест включён, то он должен остаться включенным
У меня в основных настройках Колорера выставлено показывать крест всегда, независимо от настроек схемы (там трёхпозиционный переключатель).
Вот так я ещё не пробовал, но в любом случае с крестом есть проблемы.
При включении креста запоминаю два числа, которые подставляю при восстановлении - ни фига не восстанавливается! Не хочется писать в тему колорера, но логика там точно не по мне. Поэтому восстановить не могу.
User avatar
HaRT
Moderator
Posts: 11448
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 416 times

Расширение скриптами функциональности поиска/замены в редакторе

Post by HaRT »

HaRT wrote: Tue 19 Dec, 2023 19:41 как-то заставить Колорер раскрасить текущий экран под диалогом, желательно тоже в фоне, пока я принимаю решение о замене…
Оказалось, что, пока диалог подтверждения замены открыт, Колорер в фоне продолжает красить, поэтому дождаться раскраски можно и в этом случае, но, учитывая то, как Колорер работает с длинными файлами, полагаться на него в этом сценарии непрактично.
HaRT wrote: Tue 19 Dec, 2023 19:41И по ShiftF7/AltF7 тоже? (Напомню, крест перед продолжением поиска должен показываться в пределах того же экрана.)
Виновник найден, конкретный механизм влияния неясен. Поживу пока без этих макросов — вдруг они уже и неактуальны…

P.S. Притом нежелательный эффект проявляется, даже если из скрипта убрать полезную нагрузку и оставить только Keys'AKey'… Если есть какие-то соображения, в чём тут дело и как с этим бороться, прошу поделиться.
Last edited by HaRT on Tue 19 Dec, 2023 22:34, edited 1 time in total.
Reason: Добавлен постскриптум
Фар есть инструмент, а не нянька. © 2009 DrKnS
Дмитрий Журко
Posts: 131
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 28 times
Been thanked: 1 time

Расширение скриптами функциональности поиска/замены в редакторе

Post by Дмитрий Журко »

buniak_a_h wrote: Mon 18 Dec, 2023 14:18 Плагин FarColorer доступен. Вот пример, включающий крест при входе в диалог и гасящий после выхода:
Снова спасибо. Заработало не сразу, ведь у меня русский Far. И, как я понял, макрос не различает, есть ли вообще Editor. Но с этим вполне можно работать. Круто!
Дмитрий Журко
Posts: 131
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 28 times
Been thanked: 1 time

Расширение скриптами функциональности поиска/замены в редакторе

Post by Дмитрий Журко »

HaRT wrote: Tue 19 Dec, 2023 19:41 У меня в основных настройках Колорера выставлено показывать крест всегда, независимо от настроек схемы (там трёхпозиционный переключатель).
Этой сложности нету: запомнить положение креста до включения и вернуть.
User avatar
buniak_a_h
Posts: 4558
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 673 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by buniak_a_h »

Дмитрий Журко wrote: Tue 19 Dec, 2023 23:46 Снова спасибо. Заработало не сразу, ведь у меня русский Far.
Я просто не стал заморачиваться с чтением lng-файла; вообще-то, у меня есть модуль, читающий строковые константы в зависимости от текущего языка. Если надо - подключу, не проблема. «Локализация»…
User avatar
buniak_a_h
Posts: 4558
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 673 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by buniak_a_h »

Дмитрий Журко wrote: Tue 19 Dec, 2023 23:46 макрос не различает, есть ли вообще Editor.
Не различает. Но есть засада: я не проверяю, есть ли FarColorer. Ну, не для ламмеров написано… ;-)
User avatar
buniak_a_h
Posts: 4558
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 242 times
Been thanked: 673 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by buniak_a_h »

HaRT, вот вариант, рисующий крест независимо от наличия FarColorer-а и не меняющий настроек:

Проверьте, пож., свои замечания. Возможно, они тоже исправятся :-)
Last edited by buniak_a_h on Wed 20 Dec, 2023 03:19, edited 3 times in total.
User avatar
HaRT
Moderator
Posts: 11448
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 416 times

Расширение скриптами функциональности поиска/замены в редакторе

Post by HaRT »

buniak_a_h wrote: Wed 20 Dec, 2023 02:32 Проверьте, пож., свои замечания. Возможно, они тоже исправятся
Спасибо, но я не готов отказаться от привычного колореровского креста, а чтобы их совместить, надо и наворачивать логику по включению–выключению, и подбирать такой же цвет (в частности, сейчас у меня текст на вашем кресте рисуется на светло-сером фоне вообще жёлтым с подчёркиванием — так уж у меня цвета настроены). К тому же вертикальная линия вашего креста «ломается» на строках, которые заканчиваются левее его (креста) центра; что будет, если в строках табуляции, я даже не проверял.
Одним словом, ещё раз спасибо за демонстрацию техники, но ради меня дорабатывать в этом ключе не нужно.

P.S. Нет ли у вас каких-то соображений, почему происходит ?
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14576
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by John Doe »

HaRT wrote: Tue 19 Dec, 2023 22:20 Притом нежелательный эффект проявляется, даже если из скрипта убрать полезную нагрузку и оставить только Keys'AKey'… Если есть какие-то соображения, в чём тут дело и как с этим бороться, прошу поделиться.
Мне кажется что в этом месте уже пора полноценный репорт сделать, приведя минимальные необходимые для воспроизведения условия.
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11448
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 416 times

Расширение скриптами функциональности поиска/замены в редакторе

Post by HaRT »

John Doe wrote: Wed 20 Dec, 2023 17:55 пора полноценный репорт сделать, приведя минимальные необходимые для воспроизведения условия
Так, собсно, вот:
1. Из плагинов оставляем только FarColorer (настройка: крест включен всегда) и LuaMacro, из скриптов — только
2. Открываем в редакторе, например, файл с этим же макросом; запускаем в нём замену, например, a на a, отменяем.
3. Возобновляем замену (ShiftF7).
Ожидаем, что при показанном диалоге подтверждения замены крест будет отцентрован по найденному.
Получаем же, что крест показывается на прежнем месте.

Только вот не знаю, виноват Фар, кто-то из этих двух плагинов, или я сам дурак.
Если что, у меня Far Manager, version 3.0.6197.0 x86.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 14576
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 92 times
Been thanked: 514 times
Contact:

Расширение скриптами функциональности поиска/замены в редакторе

Post by John Doe »

Code: Select all

Keys('EnOut AKey')
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 11448
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 270 times
Been thanked: 416 times

Расширение скриптами функциональности поиска/замены в редакторе

Post by HaRT »

John Doe, Работает, спасибо!
Воистину: век живи — век учись.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Дмитрий Журко
Posts: 131
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 28 times
Been thanked: 1 time

Расширение скриптами функциональности поиска/замены в редакторе

Post by Дмитрий Журко »

zg 2024-01-05 09:36:01+02:00 - build 6247
  1. M#4026: GUID for replace confirmation dialog in editor.
Молитвы где-то ТАМ услышаны. Спасибо.
Дмитрий Журко
Posts: 131
Joined: Tue 19 Jan, 2021 21:49
Has thanked: 28 times
Been thanked: 1 time

Расширение скриптами функциональности поиска/замены в редакторе

Post by Дмитрий Журко »

Привет, коллеги. Вот работающий макрос, который я аж пару недель не трогал: значит работает.
Новичкам: положить файл с текстом в папку для скриптов luamacro (обычно: %FARPROFILE%\Macros\scripts -- неудобно).
Строчки
elseif P.Msg == DN_CLOSE then mf.postmacro(show, 0)
elseif P.Msg == DN_LISTHOTKEY then show(0)
дались мне тяжело.
Благодарю коллегу buniak_a_h. Различать диалоги не вижу смысла. Суть: когда собрался поискать, да призадумался, место начала поиска под огромным диалогом не видно. И иногда стоит взглянуть на его швы и изнанки. Побочка: если кто-то крест FarColorer постоянно использует, то его выключит. Не люблю лишнюю пёстрость.
Last edited by Дмитрий Журко on Thu 31 Jul, 2025 21:17, edited 1 time in total.
Post Reply

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