Мелкие улучшения диалога подтверждения замены в редакторе

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

Мелкие улучшения диалога подтверждения замены в редакторе

Post by HaRT »

Предлагаю на суд общественности свой , который на данный момент вносит два улучшения: и .

Указание длины может быть особенно полезно при длинных подстроках (например, при замене с регулярными выражениями), которые не вмещаются в ширину окна.
Индикация одинаковости также полезна в этом случае, а ещё помогает немного разгрузить внимание при замене без учёта регистра, нечёткой или с регулярками.

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

Критикуйте, предлагайте.
Last edited by HaRT on Sun 09 Jun, 2024 07:10, edited 1 time in total.
Reason: В скрипт явно добавлено прежде подразумевавшееся определение F = far.Flags
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13925
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 76 times
Been thanked: 431 times
Contact:

Мелкие улучшения диалога подтверждения замены в редакторе

Post by John Doe »

Мне кажется что пока строки целиком вмещаются в диалоге, длина бесполезна.
Ну и графически я бы скорее отображал её в квадратных скобках.

Сами строки неплохо бы иметь возможность увидеть целиком, и с подсветкой различий.
Подозреваю правда что это уже выходит за пределы возможностей скрипта.

Ещё раздражает когда диалог загораживает собой найденное в редакторе, ведь обычно контекст важен.
Как вариант, диалог замены мог бы отображать не только саму найденную подстроку, но и всю строку целиком, плюс для контекста строку-другую до и после.
https://t.me/FarManager — Telegram чат
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Мелкие улучшения диалога подтверждения замены в редакторе

Post by HaRT »

John Doe wrote: Thu 06 Jun, 2024 22:24 пока строки целиком вмещаются в диалоге, длина бесполезна
Согласен. Но мне она не мешает.
John Doe wrote: Thu 06 Jun, 2024 22:24 я бы скорее отображал её в квадратных скобках
Поскольку обе модифицируемые метки в известных мне языках однословные, то и просто отдельным числом вроде читается нормально.
John Doe wrote: Thu 06 Jun, 2024 22:24 Сами строки неплохо бы иметь возможность увидеть целиком
Полностью согласен. Я даже написал , который должен был заменять DI_TEXT на read-only DI_EDIT с тем же текстом, но, когда он не заработал, прочитал документацию DM_SETDLGITEM повнимательнее и откатил. :facepalm:
John Doe wrote: Thu 06 Jun, 2024 22:24 с подсветкой различий.
Подозреваю правда что это уже выходит за пределы возможностей скрипта.
Увы. Впрочем, если есть штатный способ добавить дополнительный элемент в обработчике события инициализации диалога, то не всё потеряно.
John Doe wrote: Thu 06 Jun, 2024 22:24 раздражает когда диалог загораживает собой найденное в редакторе, ведь обычно контекст важен
Согласен! Потенциально можно добавить в скрипт более умное позиционирование диалога. Но пока лень.
John Doe wrote: Thu 06 Jun, 2024 22:24 отображать не только саму найденную подстроку, но и всю строку целиком, плюс для контекста строку-другую до и после
А вот это, на мой взгляд, уже не вписывается в рамки «мелких» улучшений. ;-)
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
HaRT
Moderator
Posts: 10926
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 223 times
Been thanked: 362 times

Мелкие улучшения диалога подтверждения замены в редакторе

Post by HaRT »

John Doe wrote: Thu 06 Jun, 2024 22:24 пока строки целиком вмещаются в диалоге, длина бесполезна
Строго говоря, иногда она как раз помогает понять, вмещается ли. Например, если диалог разъехался на всю ширину окна и в правой позиции в строке показана двойная кавычка, то без длины непонятно, то ли это и есть вся строка, то ли строка длиннее, но просто «у ней внутре неокавычка». Впрочем, это скорее как раз довод НЕ показывать длину, когда вмещается. :) Или показывать как-то иначе.

Как вам идея совместить эту мысль и предложение со скобками?: [##], если вмещается, и [###), если отсекается. Можно также двойные кавычки заменять на какие-то более редкие символы (но ведь и те могут попасться в строке).
Last edited by HaRT on Thu 06 Jun, 2024 22:52, edited 1 time in total.
Reason: Добавлен второй абзац
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

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