------------------------------------¬
¦"Поиск и Замена" - жизнь и развитие¦ ------------------------¬
L===========================T=======- ¦ Легенда: + добавлено ¦
L=========¦ - удалено ¦
----------------------------------¬ ¦ * изменено ¦
¦Автор: Иван Синтюрин AKA Spinoza ¦ ¦ ! исправлено ¦
¦WWW: http://www.moris.ru/~spinoza¦ L===============T=======-
¦E-mail : spinoza@mail.ru ¦--------------------
L=================================-
Для поддержки разработки программы можно пожертвовать некоторую
сумму. Вот мои кошельки в системе WebMoney.ru (www.wmtransfer.com):
Z787475721790 (для USD), E876273527569 (для Euro), R538290555814
(для рублей).
---------------¬
¦2.5/06.02.2006¦
L==============-
* License: DONATIONWARE.
- Ограничение времени работы программы.
! При сохранении замены в файл в корне диска неверно определялось
его имя.
+ В диалоге назначения горячей клавиши для плагина второго уровня
указывается имя соответствующего плагина.
---------------¬
¦2.4/18.01.2005¦
L==============-
! Редактор: неверная обработка регулирования ширины вывода в
регулярных выражениях строки замены в настройках типов файлов.
* FATypes.reg: запись для "Visual Basic".
+ Редактор, программа просмотра, панели: Ctrl-C в диалоге поиска
запускает функцию "Подсчет".
+ Редактор: Ctrl-A в диалоге поиска запускает функцию "Поиск всех
вхождений".
---------------¬
¦2.3/02.05.2004¦
L==============-
! Редактор: в меню "Поиск" и "Удалить лишние строки"
игнорировалось состояние опции "Регулярные выражения" при
загрузке схемы, если была включена опция "Поиск без регулярных
выражений по умолчанию".
! Редактор: при достижении конца файла попытка выполнения команды
"Поиск" не приводила к показу сообщения "ничего не найдено" в
отличие от команды "Продолжить работу".
! При обработке оператора строки замены "\S{RS}" в строку замены
попадали лишние нулевые символы.
+ sr_editor_macro_like_MSVC.reg, sr_viewer_macro_like_MSVC.reg.
---------------¬
¦2.2/11.10.2003¦
L==============-
* LICENSE
! Меню плагинов второго уровня: назначенные горячие клавиши в меню
не сохранялись, если сразу после изменения запускался какой-либо
плагин.
! Редактор: результат команд Ctrl-F и Ctrl-H в меню с найденным
сохранялся только в текущем сеансе FAR.
! Регулярные выражения для поиска: исправлены замеченные ошибки.
! Панели: ошибки при замене с использованием поименованных скобок.
! Редактор: не находилось слово в начале строки при поиске без
регэкспов в выделенной области.
! Были перепутаны имена некоторых переменных в реестре при их
сохранении. Возможно, вам потребуется заново настроить следующие
параметры:
- Сохранить замену в файл
- Исключить каталоги
- Настройки сообщений/Показывать сообщение о том, что работа
прервана по ESC, Показывать финальное сообщение
- Настройки поиска/Открывать диалог поиска в редакторе с
запретом модификации
- Прочие настройки/При первом запуске строка поиска и замены
должна быть пустой
Прошу прощения.
! Включенная опция "Открывать диалог поиска в редакторе с запретом
модификации" в "настройки/поиск" под Win9x открывала диалог
поиска даже при нажатии на управляющие клавиши.
* Часть настроек плагина по умолчанию изменена, чтобы эти
настройки совпали с используемыми мною. Старых пользователей это
волновать не должно, а новым, так или иначе, рекомендую полазить
и изучить все настройки плагина ;-)
* Регулярные выражения для поиска: при просмотре назад можно
использовать квантификаторы, если выражение получается
фиксированной длины.
* Если вам нужна обработка файлов с учетом атрибутов, работа в
программе просмотра, "умные" диалоги, автоматический запуск
поиска в редакторе для файла, находящегося в режиме запрета
модификации и умение плагина отличать панель с реальными файлами
от всех прочих, то потребуется FAR 1.70 beta 5 (build 1634) и
выше.
+ Командная строка: при указании имени конфигурационного файла
можно использовать переменные окружения.
* Когда плагин прекращает работу в панелях или программе просмотра
из-за того, что размер найденного равен нулю, то он сообщает об
этом. Раньше молчал.
* Регулярные выражения для замены: при обработке \S{RS} округление
осуществляется в сторону увеличения.
* FATypes.reg: усовершенствована запись для C/C++
* На F3 назначена команда продолжения работы:
sr_editor_macro_like_msword.reg
sr_viewer_macro_like_msword.reg
* FAQ
* Размер dll увеличился с 245760 до 249856.
---------------¬
¦2.1/08.04.2003¦
L==============-
! Не обрабатывались выделенные подкаталоги на временной панели.
! Ошибка в логике прохода по диску, если во время этого процесса
менялись имена найденных каталогов (проявлялась в невозможности
NewName.srp переименовать иерархию каталогов за один раз).
! Программа просмотра: не работал поиск в кодировке unicode.
! Косметика в панелях: если одна или обе файловые панели скрыты, а
поиск заканчивается сообщением "Ничего не нашли!", то под данным
сообщением видна часть прогресс-бара, который уже не нужен.
! Редактор: не получалось найти в непустой строке регулярное
выражение, состоящее из одного метасимвола $.
! Панели: не работала командная строка.
! Версия плагинов второго уровня всегда бралась из кэша, поэтому
могла быть не актуальной.
! Поименованные скобки не опустошались при повторе поиска.
* Изменилась логика работы с символическими связями: работа
осуществляется по фактическому имени, реальное имя используется
только в служебных целях - для проверки на повторную обработку
одного и того же каталога.
* Регулярные выражения для поиска: усовершенствовано, исправлены
замеченные ошибки.
+ Редактор: можно отменить открытие диалога поиска при нажатии на
буквенно-цифровые клавиши (см. настройки поиска).
* Программа просмотра: плагин не отказывается от работы, если
программа просмотра находится в hex-режиме.
* Для переключения между схемами в диалогах нужно использовать
Alt-Shift-цифра, а не Ctrl-Alt-цифра.
* Регулярные выражения для замены: минимальное значение размера
ширины вывода уменьшено с 4 до 1.
+ sr_viewer_macro_like_msword.reg
sr_quickview_macro_like_msword.reg
sr_infopanel_macro_like_msword.reg
sr_editor_macro_like_msword.reg
* FAQ
* Размер dll увеличился с 241664 до 245760.
---------------¬
¦2.0/10.02.2003¦
L==============-
Внимание! Поменялся модуль по работе с регулярными выражениями для
строки поиска, изменилась трактовка оператора \I в регэкспах для
строки замены. Будьте внимательны :-)
* License
! Разбор секций SEARCH и REPLACE в конфигурационном файле шел
только до первой пустой строки.
! Некорректная обработка оператора \D, если перед ним
использовался \Y (это регулярные выражения для строки замены).
! Панели: поиск во всех кодировках с использованием регэкспов
иногда ничего не находил, хотя было что находить.
! Панели: выдавался запрос на изменение файла с атрибутом "Только
для чтения" даже, если в файле нечего было менять.
! Панели: обработка файла не прекращалась при нажатии в диалоге
подтверждения замены на кнопку "Пропустить в файле".
! Редактор: иногда "замерзал" прогресс-бар.
! Оператор строки замены \S не работал с числами больше 4Г.
+ При поиске подстроки в файле обрабатываются файлы размером
больше 4Г.
+ S&R запрашивает у плагинов второго уровня информацию о
требующейся версии S&R и отказывается запускать неподходящие по
этому условию плагины. Формат кэша плагинов изменился, поэтому
придется заново настроить горячие клавиши (если они были
назначены) для плагинов второго уровня.
* В ПРОГРАММЕ СТАЛ ИСПОЛЬЗОВАТЬСЯ КАЧЕСТВЕННО НОВЫЙ МОДУЛЬ РАБОТЫ
С РЕГУЛЯРНЫМИ ВЫРАЖЕНИЯМИ ДЛЯ ПОИСКА ОТ КОНСТАНТИНА СТУПНИКА.
Крики "ура", бурные аплодисменты, перерастающие в овации :-)))
Почему это сделано: парсер от Игоря Русских имел ограничение
размера обрабатываемых данных (оно в предыдущей версии S&R было
равно 8К) и имел привычку падать при обработке некоторых жадных
регэкспов, если это ограничение не соблюдалось. Новый парсер
такого ограничения не имеет (реально в S&R размер обрабатываемых
данных зависит от свободной физической памяти, но он всегда
бывает не меньше 16К), синтаксис регэкспов в нем максимально
приближен к перловому, да и работает он, по заверениям автора,
гораздо быстрее старого :-) Однако, будьте внимательны при
использовании заготовленных ранее схем - синтаксис слегка
поменялся и вы можете получить не то поведение, которое
подразумевали.
+ Настройка "Путь для плагинов" в "настройка/прочие" влияет на
поиск плагинов (см. справку для подробностей).
* Опция "Показывать найденное в редакторе" ("настройка/прочие") по
умолчанию равна "в центре".
* Опция "Заменять при поиске с регэкспами $ на \r\n" по умолчанию
отключена. Если вы использовали предыдущие версии S&R, то
рекомендую ее тоже отключить - подробности см. в справке к
"настройки/поиск".
+ Сообщение подробностей при ошибках в регэкспах, используемых для
масок файлов и каталогов-исключений, строки поиска, настроек
типов файлов.
* Панели: для прохода по дереву каталогов теперь требуется гораздо
меньше памяти.
* Панели: не меняется время последнего доступа к файлу, если тот
не был изменен.
* Панели: счетчик числа измененных файлов не увеличивается, если
не удалось создать резервную копию, т.к. в этом случае
оригинальный файл остается неизменным.
* FATypes.reg: усовершенствована запись для True-tpl.ini, "C/C++",
"Text file", FAQ, Esc.xml, perl, INI-file, JavaScript.
+ FATypes.reg: запись для Assembler, RFC, ChangeLog, Call Command
resource, "colorer hrc", "nnCron tab".
+ Панели: можно вместо замены писать содержимое буфера замены в
указанный файл (для соответствующей строки диалога история
настраивается).
+ SaveTo - новый параметр в конфигурационном файле, указывающий на
имя файла, в который следует писать результат замены.
* Редактор: при прямом и обратном поиске слова под курсором
игнорируется опция диалога "Обратный поиск".
* Редактор: при обратном поиске слова под курсором (пункт №6 в
меню) поиск начинается всегда с позиции, равной началу текущего
слова.
+ Замена в файле не производится и не задается лишних вопросов,
если сформированный буфер замены совпадает с найденными данными.
+ При запуске под FAR 1.70 build 1282 и выше S&R умеет отличать
панель с реальными файлами от прочих панелей.
* Опция "Сообщение о том, что ничего не нашли" влияет теперь и на
работу в редакторе/программе просмотра.
+ Опция "Показывать финальное сообщение" в "настройки/сообщения" -
позволяет отключить сообщения о результате работы плагина. По
умолчанию включено.
+ Редактор: если включена опция "Выделять найденное", то
добавленные в результате замены данные выделяются целиком, даже
если они занимают несколько строк.
+ Редактор: динамическое изменение области выделения при замене в
выделенном.
+ Редактор: опция "Удалять пустую строку" индивидуальна для
каждого редактора. По умолчанию ее значение равно значению
одноименной опции из "настройки/замена".
+ Редактор: опция "Выделять найденное" индивидуальна для каждого
редактора. По умолчанию ее значение равно значению одноименной
опции из "настройки/поиск".
- Редактор: опция "Подхватывать слово" убрана в "настройки/поиск".
+ Редактор: опция "Менять верхнюю строчку, если найденное есть на
экране" в "настройки/прочие" - влияет на позиционирование при
поиске слова под курсором (подробности см. в справке). По
умолчанию отключена.
+ Опция "Искать в выделенном, если есть выделенные элементы на
панели" влияет на работу с конфигурационным файлом.
+ При назначении горячей клавиши в меню плагинов второго уровня
добавлена простенька проверка на дублирование назначенных
клавиш.
+ Редактор: при нажатии на буквенно-цифровые клавиши в режиме
запрета модификации (Ctrl-L) автоматически открывается диалог
поиска плагина. Это поведение работает только в Far 1.70 build
1282 и выше.
+ Редактор: если вы попытаетесь произвести замену или удалить
лишние строки в то время, когда редактор находится в режиме
запрета модификации (Ctrl-L), то плагин сообщит об этом и
прекратит работу. Это поведение работает только в Far 1.70 build
1282 и выше.
* Если вам нужна обработка файлов с учетом атрибутов, работа в
программе просмотра и "умные" диалоги, то для этого потребуется
FAR 1.70 build 1282 и выше.
+ S&R при помощи temppanel.srs может заменить "Временную панель"
из стандартной поставки FAR, поэтому вы можете удалить
стандартный плагин, если вам хватает возможностей temppanel.srs.
* Поменялась форма записи оператора \I при использовании регэкспов
для строки замены: для получения URL нужно использовать оператор
$I, а не \I.
* Ускорен поиск по регулярному выражению в файле в панелях и
программе просмотра за счет оптимизации алгоритма прохода по
файлу.
+ Новые регэкспы для строки замены:
$(name) Подставить значение переменной окружения c именем name.
\Q и \E Начать/прекратить квотирование операторов (оператор \E
при этом продолжает использоваться для отмены изменения
регистра - подробности в справке).
\I и \i Инвертирование регистра символов.
\V{E} Версия файла (данные из VS_FIXEDFILEINFO)
\V{F} Версия продукта (данные из VS_FIXEDFILEINFO)
+ Можно копировать схемы при помощи клавиши F5.
+ Операторы строки замены: при регулировании ширины вывода можно
использовать символ-заполнитель, отличный от пробела.
* Маски файлов перед использованием сортируются и избавляются от
дубликатов.
* Косметика: при выводе в различных сообщениях имени файла, не
помещающегося в сообщении, стараемся показать букву диска.
+ Редактор: в настройках типа файла можно указывать не просто
номер найденной группы, а полноценное регулярное выражение для
строки замены.
+ В меню в панелях доступны отдельные пункты "Поиск" и "Замена".
+ При использовании регэкспа \S для строки замены можно указывать
единицу изменения и символ-разделитель групп разрядов.
+ Редактор: кнопка "Подхватить слово под курсором" в диалогах
поиска, замены и удаления лишних строк.
+ Диалоги в панелях, редакторе и программе просмотра: можно
выбрать одну из первых десяти схем, не показывая меню, при
помощи комбинаций клавиш: Ctrl-Alt-0, Ctrl-Alt-1, ...,
Ctrl-Alt-9 (это cработает только в FAR 1.70 build 1282 и выше).
* Панели: в сообщении, выводимом при нажатии на Esc во время
обработки некоего конкретного файла, на первое место помещена
кнопка прекращения обработки всех файлов. Будьте внимательны!
+ Редактор: команды "Выбрать тип файла" и "Найти все разделы
файла, используя настройки другого типа" в меню плагина.
+ other_macro.reg: в редакторе на Alt-S назначено выполнение
команды "Найти все разделы файла", на Alt-W - "Найти все
вхождения слова под курсором", на Alt-C - "Выбрать тип файла",
на Alt-X - "Найти все разделы файла, используя настройки другого
типа".
+ Можно управлять состоянием опции "x" регэкспов строки замены при
помощи опции диалога "Игнорировать пробелы".
+ Диалоги подтверждения замены в редакторе и панелях пытаются
динамически изменить свой размер с учетом ширины консоли, чтобы
вместить как можно больше данных.
* При настройке плагинов второго уровня меню выбора плагинов
закрывается отказе от очередного выбора плагина, а не сразу же
после первого выбора.
+ Панели: при поиске при помощи выпадающего списка "Цель" можно
указать вид объекта файловой системы, который нужно
обрабатывать: файлы, каталоги, файлы и каталоги (это cработает
только в FAR 1.70 build 1282 и выше).
+ В конфигурационном файле можно указывать дополнительные
параметры поиска.
* Панели: в версиях FAR 1.70 build 1282 и выше, если включен показ
найденного в меню, S&R все равно пытается поместить найденное на
временную панель.
+ Можно открывать список плагинов второго уровня одновременно в
нескольких экземплярах FAR.
+ Программа просмотра: если будут ошибки чтения файла, то плагин
скажет об этом.
* FAQ
* Размер dll увеличился с 176128 до 241664.
---------------¬
¦1.9/28.12.2001¦
L==============-
! Плагин отказывался работать в редакторе или вьюере, которые были
открыты им из меню с найденными файлами в панели.
! Падение, когда в регулярных выражениях строки замены обращались
по номеру к несуществующей скобке. (Это я сам случайно и поломал
в 1.8 ;-)
! Клавиша F4 работала даже в пустом меню плагинов.
! Плагин зацикливался при поиске всех вхождений в редакторе, если
ничего не было найдено и был отключен показ разделов файла.
! При определенных обстоятельствах не удавалось выделить память
при работе с регулярными выражениями, хотя на самом деле она
была доступна (проявилось внешне на плагине Dir2File).
! Вьюер: дублирующиеся горячие клавиши.
! При замене в панелях терялись права доступа к изменяемым файлам.
! При замене в панелях изменяемые файлы теряли атрибуты "сжатый" и
"зашифрованный".
! Редактор: поиск в выделенном начинался всегда от границы
области, а - опция "Позиция курсора" игнорировалась.
! Список найденного в редакторе: диалог редактирования настроек
типа файлов вызывался даже, если меню было построено без учета
настроек типов файлов.
! При запуске из командной строки ini-файл всегда искался в
текущем каталоге, даже если был указан полный путь к нему.
! Поиск во всех кодировках иногда ничего не находил, хотя было что
находить.
* Теперь в SRPCache хранится информация о языке сообщений FAR и
происходит автоматическое сканирование списка плагинов, если
этот язык из кэша отличается от текущего в FAR.
* Список найденного в редакторе: разделы файла теперь выделяются
не просто чертой внизу, а чертой сверху и снизу.
* Список найденного в редакторе: позиционирование при enter и
ctrl-enter осуществляется в соответствии с опцией из
"настройки/прочие/показывать найденное в редакторе".
* Редактор: при построении списка найденного не происходит лишнее
перемещение в конец файла.
* Некоторые изменения логики в "умных диалогах" (напоминаю, что
такие диалоги доступны только в FAR 1.70 build 883 и выше).
+ Список найденного в редакторе: Ctrl-F - включить/выключить
фильтр строк. По умолчанию включен.
+ Список найденного в редакторе: Ctrl-H - включить/выключить
автоматическое назначение горячих клавиш для пунктов меню.
+ FATypes.reg: запись для perl, TechInfo (из дистрибутива FAR),
history.txt (этот файл :-), немного улучшена запись для C/C++.
+ Расширенные параметры поиска: можно запрещать обработку тех
подкаталогов, которые являются символическими связями.
+ Расширенные параметры поиска: можно указывать каталоги, файлы в
которых обрабатывать не нужно (каталоги-исключения).
* Расширенные параметры поиска: атрибуты по умолчанию
игнорируются ([?]), а не просто выключены ([ ]) как раньше.
* И снова обновленный парсер регэкспов, но уже от Игоря :-)
* При выборе пунктов 3 и 4 из меню S&R в редакторе всегда будет
осуществляться поиск или замена в зависимости от того, что вы
делали в последний раз.
+ Параметры "Обратный поиск", "Область поиска" и "Начало поиска"
индивидуальны для каждого открытого редактора.
* В панелях кнопка "Подсчет" переместилась поближе к остальным
кнопкам, при этом все кнопки рисуются без квадратных скобок
вокруг них (последнее примечание сделано специально, чтобы вы не
испугались из-за "пропавших" кнопок :-).
+ Можно обновить список плагинов второго уровня сразу же после
неудачной загрузки одного из плагинов.
+ Shift-F1 в меню плагинов второго уровня учитывает то, откуда
было вызвано это меню, и, если возможно, показывает
соответствующую тему помощи, а не просто "Contents" (как было
раньше).
+ В "настройки/прочие" можно отключать показ сообщения в панелях о
том, что работа была прервана пользователем.
* Немного ускорена реакция на ESC.
+ Опция "Искать в выделенном, если есть выделенные элементы на
панели" в "настройки/прочие". По умолчанию отключена.
* FAQ
* Поменялись некоторые горячие клавиши в диалогах. Смотрите не
запутайтесь :)
* Размер dll увеличился с 167936 до 172032.
---------------¬
¦1.8/28.09.2001¦
L==============-
Внимание! Изменилась трактовка оператора | в регэкспах для строки
поиска.
! Корректная работа с переменными окружения, которые содержат
символы с кодами выше 0x7F.
! Падение программы при обработке версии файлов для файлов с
нестандартным вариантом versioninfo (повторялось не у всех).
Спасибо Вадиму Клебанову (vad@lmr.spb.ru) за помощь в
обнаружении бага.
! Падение программы при обработке версии файлов для криво
упакованных файлов, которые информации о версии вообще не
содержали.
! Косметический дефект в "настройках истории".
! Косметический дефект в списке с найденным в редакторе (съезжала
позиция разделителя между номером строки и данными в некторых
случаях).
! Утечка памяти при замене в Unicode.
! Плагины второго уровня реагировали на смену языка сообщений
только после сохранения настроек FAR в реестр. Это исправлено,
но только для FAR версии 1.70 build 817 и выше, т.к. более
древние версии FAR требуемую информацию плагинам не
предоставляют.
+ В fatypes.reg добавлена запись для Clipper, в newnamescheme.reg
добавлена пара примеров по переименованию файлов (спасибы слать
сюда: Alexey Yatsenko <2:5060/9.52>).
+ Пополнение в dir2file_scheme.reg.
+ Опция "Путь для хранения настроек" в "настройка/прочие".
Используется для указания каталога, в котором S&R должен хранить
свои файлы конфигурации (например, кэш плагинов).
+ Новый модификатор для оператора \P{...} (регулярные выражения
для замены): R - относительный путь
* Маска "|*.bak" обрабатывается так же как и "*|*.bak"
+ В диалоге редактирования расширенных параметров поиска теперь
сохраняется всегда дата (раньше не сохранялась, если
соответствующий чек-бокс был отключен), теперь происходит
переход на строку с ошибкой, если таковая случилась.
* Обновленный парсер регэкспов, любезно предоставленный
Константином Ступником <skv@dvl.novosoft.ru>. В парсере были
исправлены замеченные ошибки, увеличена скорость, см. также
следующие пункты этого файла.
+ Новые регэкспы для строки поиска:
(?{name} ) Сгруппировать символы в паттерн с именем name и
запомнить. В качестве имени может быть пустая строка
(получается безымянный паттерн, на который нельзя
сослаться) или последовательность из символов слова
(\w) и пробелов.
\p{name} Ссылка внутри регэкспа на его же разобранную скобку
с именем name.
+ Новый регэксп для строки замены:
${name} Подставить группу с именем name.
* ВНИМАНИЕ! Изменена логика обработки оператора "|" в строке
поиска (регулярные выражения для поиска). Теперь он
обрабатывается не так, как в колорере, а как в perl. Например,
/\d+\w+|Hello\d+/ работает как /(\d+\w+)|(Hello\d+)/, а не как
/\d+(\w+|H)ello\d+/. Скорее всего вам придется пересмотреть и
переписать все схемы, где используется этот оператор
(стандартные схемы из дистрибутива так же были изменены с учетом
этого новшества).
* Диалог в панелях: строки "Искать" и "Заменить на" подняты
поближе к строке "Маска файлов", т.е. сделано некое приближение
к стандартному диалогу поиска (Alt-F7).
+ Опция в "настройки/поиск": Использовать строку из истории, если
под курсором нет слова. По умолчанию отключена.
+ В панелях можно искать данные с использованием всех доступных
кодировок (пока не достаточно быстро, боремся).
+ В редакторе кнопка выбора типа файла теперь тоже имеет свою
горячую клавишу.
+ В меню выбора типа файла по умолчанию курсор устанавливается на
текущий тип, а не на первый пункт, как было раньше.
* В списке с найденным в редакторе выделяется по умолчанию теперь
не самая первая строка, а та, которая указывает на самую близкую
к текущей позиции курсора в файле строку.
+ Ctrl-Enter в списке с найденным в редакторе осуществляет переход
к выделенной строке без закрытия меню.
+ Можно вызывать диалог редактирования настроек для текущего типа
файлов из меню со списком найденного в редакторе.
+ Можно добавлять пункт "Временная панель" в меню дисков.
Включается в "настройки/временная панель". По умолчанию
отключено.
+ Можно настраивать следующие параметры временной панели:
"Типы колонок", "Ширина колонок" и "Полноэкранный режим". По
умолчанию настройки равны стандартным настройкам временной
панели FAR.
+ Можно переименовывать схемы из меню со схемами.
+ В программе просмотра и редакторе при показе прогресс-бара при
поиске или замене выводится соответственно количество найденных
вхождений или произведенных замен.
+ "Умные диалоги". Почти во всех диалогах задействованы
возможности, появившиеся в новых версиях FAR: элементы диалога
становятся недоступными, если они не имеют значения в текущем
контексте, диалоги не закрываются по кнопке "ОК", если введенные
параметры не являются корректными и т.п. Это новшество будет
заметно только в FAR 1.70 build 883 и выше.
+ Можно кэшировать список найденного в редакторе. Это включается в
настройках поиска. По умолчанию отключено.
* Опция "Заменить на" в панелях не зависит от работы плагина в
редакторе или вьюере. Например, если был произведен поиск в
панелях, а затем замена редакторе, то при следующем запуске
плагина в панелях замена будет отключена. Раньше в подобном
случае замена была включенной, что оказалось не сильно удобным.
+ Открывается немодальный редактор при нажатии на F4 в меню с
найденными файлами, если используется FAR 1.70 beta 1 и выше.
* При открытии редактора из меню с найденными файлами
восстанавливается сохраненная позиция в файле, если это включено
в настройках редактора FAR. Раньше файлы всегда открывались с
начала.
+ NoFinalMgs - новый параметр в ini-файле, позволяющий запрещать
показ сообщений о проделанной работе (вывод количества замен,
найденного, сообщение об ошибке или о том, что ничего не нашли).
* FAQ
* Размер dll увеличился с 139264 до 167936.
---------------¬
¦1.7/14.06.2001¦
L==============-
! Включение опции "Поиск без регулярных выражений по умолчанию"
приводило к тому, что любой поиск (даже продолжение уже начатого
поиска) был по умолчанию без регулярных выражений.
! Косметика: в редакторе при неудачном поиске прогресс-бар
показывался даже после вывода сообщения о том, что ничего не
нашли.
! Некорректно работали следующие регулярные выражения для поиска:
\u и \l. Они "находили" кроме того, что должны, кучу лишнего,
например, пробелы и знаки препинания.
! Падение плагина при закрытии редактора.
- Опция "Маска файлов есть регэксп" не нужна, т.к. происходит
автоматическое определение типа маски. Чтобы указать, что маска
является регулярным выражением, начните ее с символа '/'.
+ Опция "Подтверждение замены" в диалоге замены в редакторе.
* При выборе пунктов 3 и 4 из меню S&R в редакторе всегда будет
осуществляться поиск, даже если перед этим производилась замена.
+ При поиске файлов по маске (когда маска не является регулярным
выражением) используются стандартные функции FAR для разбора
масок, а это означает, что теперь можно использовать не только *
и ?, но и квадратные скобки с перечислением символов
(подробности см. в помощи).
+ Полноценная поддержка плагинов второго уровня. Все новое, что
касается с плагинов для S&R, теперь описывается в отдельном
файле - srp_history.txt
* В расширенных параметрах поиска по умолчанию выставляется
настройка искать по времени последнего изменения. Раньше было
"время создания", что оказалось не совсем удобным.
+ Mode - новый параметр в ini-файле, указывает на режим работы
(замена, поиск или подсчет).
+ В простых масках файлов (т.е. когда маска файлов не является
регулярным выражением вида /.../) можно использовать маски
исключения.
+ Файл regexps.txt. Он содержит описание синтаксиса регулярных
выражений для поиска и замены, которые используются в S&R. Это
будет разумнее, чем вставлять это описание в помощь каждого
плагина второго уровня.
+ sr_filepanel_macro.reg - пример макросов для запуска плагина в
панелях.
+ ctrlshiftf11.reg - пример макросов для открытия меню при нажатии
на Ctrl-Shift-F11 с командами внешних модулей для S&R в файловых
панелях, редакторе, программе просмотра, панелях быстрого
просмотра и информации.
+ В регулярных выражениях замены можно задавать ширину вывода и
указывать выравнивание для подставляемой строки (счетчик, дата и
время, группа) по правому краю, по левому краю и по ширине.
+ Новые регулярные выражения для строки замены:
\- - символ '-'
Эти операторы действуют только при групповой обработке файлов
(работа в панелях):
\P, \P{T,D,N} - путь к обрабатываемому объекту
\I - ярлык Internet - содержимое переменной URL из
секции InternetShortcut. Имеет смысл использовать
только для файлов *.url
\V{N} - версия обрабатываемого файла - одно из полей
содержимого versioninfo
\F, \F{T,N} - имя обрабатываемого объекта
\Y{T,P} - дата и время обрабатываемого объекта
\S - размер обрабатываемого объекта в байтах
* В редакторе при начале работы в выделенном при прямом поиске
курсор перемещается к началу области выделения, если он
находится в его конце. Раньше выводилось сообщение о том, что
ничего не найдено.
+ Изменились названия пары переменных в реестре. Чтобы
переименовать старые переменные в новые проделайте следующие
действия:
1. Экспортируйте в reg-файл содержимое реестра по адресу:
HKCU\Software\Far\Plugins\S_And_R
2. Открыть полученный файл в редакторе и произвести замену во
всем файле с учетом регистра и использованием регэкспов:
Искать: ^"(code)(page)"=
Менять: "\u$1\u$2"=
3. Произвести вторую замену с аналогичными условиями:
Искать: ^("Char(Table)")(=.+)$
Менять: $1=-\n"$2Num"$3
4. Произвести третью замену с аналогичными условиями:
Искать: ^("MaskIsRe"=).+$
Менять: $1\-
5. Сохранить изменения в файле и импортировать его обратно в
реестр.
+ В редакторе можно указывать искать с позиции курсора или с
начала и при работе в выделенной области.
+ При работе в панелях список каталогов проверяется на ошибки.
+ Разрешено использовать относительные пути в списке каталогов.
+ Разрешено использовать запятую в качестве разделителя в списке
каталогов.
+ Редактор: при поиске всех вхождений и включенном режиме показа
названия раздела это самое название раздела показывается на
отдельной строке, тем самым достигается то, что по возможности
оно показывается полностью, а не только его первые несколько
символов.
* Поменялись некоторые горячие клавиши в диалогах. Смотрите не
запутайтесь :)
+ Временную панель можно открыть из меню плагинов в панелях. Она
будет пустой или содержать те файлы, которые остались в ней от
последнего поиска.
* Переводом сообщений и помощи на украинский язык занялся DoctoR
(doctor@skeptik.net, http://dr-gng.dp.ua), за что и выражаем ему
наше виртуальное спасибо :-)
* FAQ
* Размер dll увеличился с 122880 до 139264.
---------------¬
¦1.6/23.04.2001¦
L==============-
Данная версия некоторые свои возможности реализует при помощи
плагинов второго уровня, которые подгружаются по мере
необходимости, чтобы не занимать просто так место в памяти.
! Путаница в диалоге плагина в панелях с положением курсора по
умолчанию (проявлялось в FAR 1.6x).
+ Обрабатываются атрибуты "Сжатый" и "Зашифрованный".
+ Опция "Сохранять время последнего изменения" в
"настройки/прочие".
+ Теперь можно искать файлы нулевой длины. Обратите внимание на
то, что настройки "Больше или равно" и "Меньше или равно" стали
чек-боксами, и вам потребуется просмотреть/переделать те схемы,
в которых использовались эти параметры.
- Ограничение в 15000 файлов при поиске в панелях.
+ При поиске файлов список найденного показывается во временной
панели, для этого создан специальный плагин temppanel.srp - он и
файл сообщений для него (temppanel.msg) должны находится там же,
где находится s_and_r.dll.
+ Редактирование настроек теперь осуществляется специальным
плагином второго уровня - config.srp и config.msg. Он должен
находиться там же, где и s_and_r.dll.
* При поиске "Поиске всех вхождений" можно заставить плагин
показывать названия разделов файла, в котором найдено вхождение
строки поиска. Обработка разделов зависит от настроек для типа
редактируемого файла, например, для исходных текстов программы
это может быть название функции, для ini-файла - имя секции и
т.п. Файл Reg\FATypes.reg содержит пример настроек для
нескольких типов файлов. Если у вас появятся подобные настройки
для файлов разных типов, то присылайте их мне и они будут
включены в дистрибутив программы. Идея взята из плагина Find-All
Александра Назаренко.
+ Новая функция в редакторе - "Найти все разделы файла".
Функционирует на основе тех же настроек, что и предыдущий пункт.
+ Новые регэкспы для строки замены:
\D{T} - текущие дата и время на момент проведения замены. "T"
указывает нужное значение: Y - год, M - месяц, D - день, h -
час, m - минута, s - секунда.
\#{-число} - подставить значение счетчика, уменьшенное на
"число" в скобках.
\#{числоh} - подставить значение счетчика в шестнадцатеричной
системе исчисления, увеличенное на "число" в шестнадцатеричной
системе исчисления, находящееся в скобках.
\#{число,размер}, \#{-число,размер} или \#{числоh,размер} -
проверяется количество цифр подставляемого числа. В том случае,
если оно меньше значения параметра "размер", то в строку
дописываются необходимое количество дополнительных нулей перед
значением счетчика.
\#{число,размер,s} или \#{-число,размер,s} - всегда показывается
знак числа: + или -.
* Счетчик теперь увеличивается на единицу при каждой замене
(раньше он увеличивался при каждом использовании регэкспа \#).
+ Возможность переименования файлов с использованием регулярных
выражений. Реализуется при помощи плагина newname.srp
(newname.msg - файл сообщений для него). Если этот плагин будет
находиться там же, где и s_and_r.dll, то при вызове S&R в
панелях будет показано меню выбора между обычным поиском и
заменой и переименованием файлов. Появление в поставке S&R этого
плагина второго уровня означает, что мой самостоятельный плагин
NewName больше развиваться не будет, т.к. его возможности с
лихвой покрываются возможностями newname.srp. Пример схем для
newname.srp, предназначенных для замены возможностей
стандартного плагина "Преобразование регистра", находится в
newnamescheme.reg.
* Разрешено хранить схемы с одинаковым названием, если они
различаются регистром букв.
* FAQ
+ Некоторые настройки доступны только путем ручной правки реестра.
Описание см. в readme.
+ sr_infopanel_macro.reg и sr_quickview_macro.reg - макросы,
предназначенные для замены стандартного поиска в информационной
панели и панели быстрого просмотра. Имеют смысл только для FAR
1.70 build 559 и выше.
* Размер dll увеличился с 110592 до 122880.
---------------¬
¦1.5/07.03.2001¦
L==============-
! Падение плагина при замене в редакторе, когда пользовались
схемой, которую сохранили из диалога поиска (баг был добавлен в
1.3).
* Диалог плагина в панелях.
+ Возможность искать/заменять в списке каталогов. Например, можно
просто указать %path% и работа будет осуществляться во всех
каталогах, перечисленных в этой переменной окружения.
+ Новая функция в редакторе - "Найти все вхождения слова под
курсором"
+ Возможность задавать маску файлов в виде регулярного выражения.
* Размер dll увеличился с 106496 до 110592.
---------------¬
¦1.4/01.03.2001¦
L==============-
! Зацикливание при замене на пустую строку в редакторе, когда
регэкспом захватывалась вся строка целиком.
---------------¬
¦1.3/27.02.2001¦
L==============-
! Не получалось прервать удаление несовпадающих строк по ESC.
! При использовании регэкспа \xNN в строке замены пропадала часть
строки замены :((
! При использовании системной истории в тех случаях, когда перед
запуском плагина искали внутренними средствами Far'а, в
соответствующие строки диалогов не всегда подставлялись
последние использованные параметры.
! Показывался мусор в диалоге подтверждения замены в редакторе при
нестандартных размерах консоли.
! Ошибки при перемещении курсора при замене в редакторе и все
связанные с этим проблемы (например, иногда была неправильная
замена в вертикальных блоках и т.п.).
! Теперь не меняется дата создания файла при замене в панелях.
* Если в редакторе производим работу в выделенной области, а потом
снимаем выделение и хотим продолжить работу (пункты 3 и 4 в
меню), то она будет продолжена от курсора. Раньше выдавалось
сообщение о том, что выделение не найдено, и продолжение было
невозможным.
* Поменялись местами значения двух регэкспов для строки замены.
Теперь "$$" означает конец строки (равен \r\n), а "\$" - символ
'$'.
+ В диалоге "Удалить лишние строки" тоже можно использовать схемы.
* Корректировка положения показа найденного в редакторе.
+ В "настройки/прочие" можно указать, где будет показываться
найденное при поиске в редакторе: как раньше (по умолчанию), в
верхней части, в центре или в нижней части экрана.
+ Опция "Поиск без регулярных выражений по умолчанию" в
"настройки/прочие". По умолчанию отключена.
+ Работа в программе просмотра (только в Far 1.70 build 410 и
выше).
* Файл sr_editor_macro.reg содержит макросы, предназначенные для
замены стандартного поиска/замены в редакторе. Файл
sr_viewer_macro.reg содержит макросы, предназначенные для замены
стандартного поиска во вьюере. Прочие макросы вынесены в файл
other_macro.reg
+ При относительно длительной по времени работе показывается
прогресс-бар, чтобы показать вам, что плагин работает, а не
завис :)
* Опция "Работа без // при поиске с регэкспами" по умолчанию
включена. По умолчанию в строках поиска, замены, масок
используется системная история.
* Копии оригинала всегда получают расширение ".BAK".
+ Опция "Не обрабатывать перекрывающиеся вхождения при продолжении
поиска" в "настройки/поиск" Она действует только в редакторе и
вьюере и при прямой работе (от начала файла к концу). Влияет на
продолжение поиска. По умолчанию отключена.
* Поменялись некоторые горячие клавиши в диалогах. Смотрите не
запутайтесь :)
- Стала ненужной переменная CodeTableName в реестре. Если хотите,
то удалите ее сами вручную. Или для ее автоматического удаления
отовсюду проделайте следующие шаги:
1. Наберите в командной строке:
regedit /ea sr.reg HKEY_CURRENT_USER\Software\Far\Plugins\S_And_R
2. Откройте файл sr.reg в редакторе и произведите в нем при
помощи S&R следующую замену с использованием регэкспов:
искать: ("CodeTableName"=).+?$
заменить на: $1-
3. Импортируйте в реестр измененный файл sr.reg
* При поиске в панелях можно не указывать строку поиска.
+ Можно при замене в панелях перекодировать данные, на которые
меняем, в любую из установленных в Фаре кодировок. Эта
возможность не доступна при работе с Unicode. Гм... Вот S&R и
скатился до уровня обыкновенного перекодировщика файлов...
FarTrans пришлось стереть за ненадобностью :-)
* При нажатии на гиперссылку в хелпе запустится ваш браузер или
почтовая программа. Эта возможность работает только в Far'е
версии 1.70 и выше.
+ Можно указывать атрибуты обрабатываемых файлов. Эта возможность
будет работать только в Far 1.70 build 321 и выше.
* Плагин использует обновленную версию парсера регэкспов. В связи
с этим исчезла куча старых его глюков и, возможно, добавлены
новые... :)
* FAQ
+ ReadMe
* Размер dll увеличился с 81920 до 106496. Много это или мало? Не
знаю, найдите программу с _такой же_ функциональностью и
сравните размер...
---------------¬
¦1.2/14.12.2000¦
L==============-
Внимание! Изменились некоторые регэкспы, используемые в строке замены.
! Вторая попытка избавления от падения плагина при возврате из
редактора, который был открыт самим же плагином, а в редакторе
был запущен хотя бы один раз S&R (устойчиво проявлялось под
w2k).
! При поиске текста в кодировке OEM находились похожие на буквы
символы псевдографики.
! Зацикливание при обратной замене
! Иногда в редакторе при замене в конец строки вставлялся мусор.
Это, кстати, баг не плагина, а Фара или плагинов, которые
участвуют в перерисовке экрана.
* По многочисленным просьбам для подстановки в строку замены
найденных групп теперь используются $0 - $9 и $A - $F
* Регэксп \E теперь означает конец смены регистра, а не 14-ю
группу.
+ Новый регэксп для строки замены:
$$ - символ '$'
+ Добавил макросы для поиска слова под курсором sr_macro.reg
* Фокус в диалогах автоматически перемещается на строку поиска,
кнопку "ОК" или на другие опции, в зависимости от того, что
нажал пользователь в последний раз, и от ошибки в параметрах,
если таковая была.
+ Обрабатываются пустые строки в редакторе.
+ Новая опция в настройках - "В редакторе искать cо следующей
позиции". Если она включена, то поиск в редакторе начнется со
следующей позиции курсора. Эта опция действует только на пункт
"Поиск". По умолчанию опция отключена.
* При работе в панелях показывается количество найденных файлов, а
не обработанных как раньше.
* Если поиск файлов был прерван по какой-то причине, но до этого
было уже найдено несколько файлов, то будет показано обычное
меню для работы с найденными файлами.
* Плагин пропускает файлы, которые не может открыть, и продолжает
работать дальше. Раньше дальнейшая работа была невозможной.
+ Опция для работы в редакторе - "Не обрабатывать перекрывающиеся
вхождения". По умолчанию включена. Подробности смотрите в hlf.
* Нельзя сохранять схемы с одинаковым именем.
+ Новая функция в редакторе - "Удалить лишние строки" - удаление
строк, которые не содержат хотя бы одного вхождения строки
поиска.
+ Можно искать в выделенных каталогах. Опции "Обрабатывать
подкаталоги" и "Дополнительно" работают всегда, а не только при
поиске по маске.
* Изменилась работа с unicode - при поиске/замене в unicode файлы
сначала преобразуются в oem, а только потом производится поиск.
При замене соответственно происходит преобразование oem ->
unicode. Я, конечно, тестировал работу плагина с файлами в
unicode, но до конца во всем быть уверенным нельзя, поэтому НЕ
ОТКЛЮЧАЙТЕ, ХОТЯ БЫ НА ПЕРВОЕ ВРЕМЯ, ОПЦИЮ "СОХРАНЯТЬ КОПИИ
ОРИГИНАЛА", целее будете ;) Для чего же я тогда это затеял? А вы
посмотрите следующие несколько пунктов данного файла.
+ Обработка файлов в unicode с обратным порядком байтов. Такими
файлами считаются те, у которых первые два байта равны
FEFF. Раньше корректно обрабатывались только FFFE-файлы.
+ Регистронезависимый поиск в unicode.
+ Возможен поиск слов при работе с unicode.
+ При работе с unicode разрешено использовать регэкспы.
+ Теперь вы можете подсчитать количество найденных вхождений
строки поиска не только в редакторе, но и в панелях (кнопка
"Подсчет").
* FAQ
* Размер dll увеличился с 73728 до 81920. Бесплатный сыр сами
знаете где бывает :*)
---------------¬
¦1.1/11.11.2000¦
L==============-
! Зацикливание замены в выделенной области, если размер области
был равен одному символу, а строка замены (точнее - символ
замены) была равна строке поиска.
! Курсор не хотел устанавливаться на найденный файл, если в его
имени были квадратные скобки.
! Под NT/2000 в заголовок консоли выводились сообщения в неверной
кодировке.
! Корректная (надежда умирает последней ;) работа с вертикальными
блоками в редакторе, если те содержат символы табуляции, а опция
в настройках редактора FAR'а "Пробелы вместо табуляции"
отключена.
! Корректная работа в редакторе с пустыми блоками, которые
находятся за пределами строки.
! Падение плагина при возврате из редактора, который был открыт
самим же плагином, а в редакторе был запущен хотя бы один раз
S&R.
! Неверно показывалось смешение в диалоге подтверждения замены для
больших файлов.
! Куча мелких глюков при работе в редакторе - замучаешься
перечислять :-)
+ В редакторе выделяется найденное при выводе диалога
подтверждения замены независимо от состояния одноименной опции.
+ В редакторе для замены можно использовать пустую строку.
+ Если в редакторе после произведения замены измененная строка не
будет содержать ни одного символа, то она будет удалена (данное
правило отключается в "настройки/замена").
+ В редакторе новый пункт в меню - "Продолжить (обратный поиск)" -
аналогичен пункту "Продолжить", но поиск будет проводится в
противоположном направлении. С учетом этого новшества изменен
файл sr_macro.reg
+ Возможен поиск слов (см. "настройки/поиск") без использования
регэкспов.
+ Возможен глобальный поиск в редакторе.
+ В редакторе новые пункты в меню: "Поиск слова под курсором" и
"Обратный поиск слова под курсором". Они позволяют найти
следующее вхождение слова (см. "настройки/поиск"), на котором
стоит курсор без вызова диалога.
+ В редакторе в диалоге поиска/замены новая опция - "Подхватывать
слово". Если эта опция включена, то автоматически в строку
поиска подставляется слово, на котором стоит курсор.
+ В редакторе при отсутствии области выделения опция "Выделенный
текст" не показывается.
+ Автоматический выбор параметра работы "От курсора" или
"Выделенный текст", в зависимости от наличия области выделения в
редакторе. Включается в "настройки/прочие" (по умолчанию опция
отключена).
+ В редакторе: если строка замены содержит последовательности
символов перевода строки (\r, \n, \r\n), то в файл вставляется
соответствующее количество строк.
+ В редакторе в диалоге поиска появилась кнопка "Подсчет" -
вывести количество найденных вхождений строки поиска.
+ В редакторе в диалоге поиска появилась кнопка "Поиск всех
вхождений" - произвести поиск строк, содержащих хотя бы одно
вхождение строки поиска, вывести меню со списком найденных строк
с возможностью перехода к любой из них по выбору.
+ Новые регэкспы в строке замены "\#" и "\#{число}" -
соответственно подставить значение счетчика и подставить
значение счетчика, увеличенное на указанное число. См. также
"настройки/замена".
* Множество других мелких внутренних изменений, всего точно не
помню ;)
* FAQ.txt
- Теперь плагин строит список файлов всегда, поэтому не нужна
больше опция "Строить список файлов" и ключ BuildList в реестре.
Вы можете удалить последний путем импорта в реестр файла
RemoveOddKeys.reg
+ Переведены на английский язык помощь, faq и история. Спасибо за
это Константину Дьякову и Антону Лыкову.
* Размер dll увеличился с 61440 до 73728. А кому сейчас легко?
---------------¬
¦1.0/02.10.2000¦
L==============-
! При попытке прекратить обработку файла размером более 6 Mb
приходилось несколько раз отвечать на один и тот же вопрос.
! Иногда количество измененных файлов, показываемое в сообщении о
проделанной работе, было неверным.
! Глюки с выбором кодировок в настройке схемы.
! Пропадало выделение файлов, даже если пользователь вышел из
плагина, ничего не сделав.
! Игорь Русских предоставил мне новый парсер регэкспов, в
котором, например, был исправлен баг, связанный с неверной
обработкой русских букв от 'Р' до 'Я' (например, при
регистронезависимом поиске не находились слова, содержащие эти
буквы).
* Спецсимвол "\s" трактуется теперь как tab/space/lf/cr
+ Спецсимвол "." теперь может опционально трактоваться как "любой
символ" и "любой символ кроме \r и \n". За это отвечают в
зависимости от настроек либо параметр "s", либо опция
"Обработка нескольких строк".
* Настройки разнесены по тематическим разделам.
* Изменена опция "Не учитывать регистр" на "Учитывать регистр"
+ Теперь не обязательно заключать строку поиска в слеши при
работе с регэкспами. Эта возможность включается в
"настройки/поиск" (по умолчанию отключена).
+ При запуске из командной строки вместо символа "/" можно также
использовать "\" или пробел.
+ Опция "Удалить выделение с файлов" в "настройки/прочие" (по
умолчанию включена). Если она выключена, то выделение файлов по
возможности не теряется.
+ Можно заставить плагин строить список файлов при замене, тогда
зацикливание, встречающееся у некоторых "счастливчиков",
пропадет. За это отвечает опция в "настройки/замена" (по
умолчанию включена). Отключение этой опции ускорит работу,
подумайте прежде, чем это сделать...
+ Можно передвигать схему вверх/вниз используя сочетания клавиш
ctrl+up и ctrl+down.
+ Работа в редакторе FAR'а: плагин дублирует возможности поиска и
замены в редакторе, добавляя к этому работу с регулярными
выражениями и возможность обработки только выделенной области.
Для удобства применения рекомендую повесить макросы на F7,
Ctrl+F7, Shift+F7, вызывающие аналогичные команды плагина (вы
можете воспользоваться уже готовым файлом sr_macro.reg, для
этого назначьте плагину горячую клавишу 'S', а затем
импортируйте указанный файл в реестр).
+ Возможность производить замену со считыванием параметров из
ini-файла. Это пригодится при проведении замены данных объемом
до 2550 байтов (в диалоге действует ограничение в 512 байтов).
+ Украинские lng&hlf
(спасибо Александру Крынько <sky@cc.pib.alex-ua.com>)
* FAQ.txt
* Размер dll увеличился с 45056 до 61440... А вы думаете, что все
даром дается? ;-)
---------------¬
¦0.9/14.07.2000¦
L==============-
! Плагин анализировал строку замены даже при обычном поиске.
- Убран показ индикатора в верхнем левом углу.
- Выкинул фичи view/edit/go, доступные из командной строки, ибо
не место им в этом плагине. Не отчаивайтесь, ходят слухи, что
нечто такое будет в стандартной поставке FAR'а...
+ Можно запускать плагин искать или заменять что-либо прямо из
командной строки.
* Нажатие на Esc проверяется реже, чем раньше.
+ Сохраняются атрибуты файлов.
+ Обрабатываются файлы с атрибутом "read only".
* Небольшие из¬енения в "ангельском" lng по просьбам трудящихся,
исправлены некоторые ляпсусы в интерфейсе...
+ Меняется заголовок консоли на время работы.
+ Можно заставить программу показывать имя обрабатываемого файла
в заголовке консоли. Это включается в настройках.
+ При завершении поиска в заголовке показывается, сколько файлов
было найдено.
+ При завершении поиска и замены в финальном сообщении показывается,
сколько файлов было найдено.
* Изменен алгоритм поиска, в частности я вообще отказался от
использования проецирования файла в память, а считываю его кусками,
но теперь плагин на время своей работы легко может откушать около
6 Mb памяти, не бойтесь, обычно он ее потом освобождает... :-) В
результате переделки большей части кода поиск и замена (а особенно
простой поиск) стали осуществляться быстрее, чем раньше! Но хочу
сразу предупредить, что я _не гарантирую_ вам полное отсутствие
глюков в работе (AS IS и все такое...) плагина, поэтому, хотя бы
в первое время, не отключайте опцию сохранения оригинала!
---------------¬
¦0.8/25.06.2000¦
L==============-
! Фар погибал, если был отключен вывод меню с найденными файлами
* Теперь команда S&R:goto//path регистронезависима
* Теперь можно (и нужно) использовать '\' вместо двойного в командной строке
+ В любой из команд серии "S&R:" можно использовать переменные окружения
---------------¬
¦0.7/24.06.2000¦
L==============-
* Убрал опцию "Только поиск!", вместо этого теперь надо для проведения замены
ставить крыжик "[x] Заменить на", а для простого поиска соответственно
убирать этот крыжик. Так интуитивно понятнее...
+ Новые фичи для командной строки:
S&R:v//<команда - передает "команду" командному процессору, сохраняет
вывод во временный файл, который затем открывает во
вьюере
S&R:e//<команда - аналогично для редактора
Остальные подробности в hlf... Подсказал мне эту идею Ilya Gershman.
(дружно) Thanks!
S&R:g//путь - перейти к указанному каталогу/файлу и установить на
него курсор.
+ Можно отменить показ меню с найденными файлами, тогда список будет
автоматически сохранен (смысл этой фичи будет ясен в будущих версиях...).
+ Можно указывать окончание имени лога (смысл этой фичи будет ясен в будущих
версиях...)
* FAQ.txt
! Не было фокуса ввода в диалоге конфигурации.
* Улучшена проверка на "глупые" маски файлов (подробности см. в FAQ#20).
---------------¬
¦0.6/13.06.2000¦
L==============-
! Не обрабатывались выделенные файлы в корневом каталоге.
! Не было реакции на Esc в некоторых случаях при прохождении дерева каталогов
на диске.
+ Проверка на некоторые "глупые" маски файлов.
+ Индикатор в верхнем левом углу экрана, показывающий, что плагин работает, а
не завис :-) (btw, плагин все равно иногда засыпает на несколько секунд, а
почему - никак не разберусь... главное - просыпается же :-)
+ Показывает, сколько файлов обработали в процессе поиска.
+ Появилась возможность вызова вьюера/редактора FAR'а из командной строки/меню
пользователя/ассоциаций файлов:
S&R:v//имяфайла - открывает файл во вьюере
S&R:e//имяфайла - открывает файл в редакторе
Только не спрашивайте меня, каким боком все это относится к поиску
и замене :-) Мне так захотелось...
---------------¬
¦0.5/04.06.2000¦
L==============-
! Перестал пропадать символ '&' в диалоге подтверждения замены.
* В диалоге подтверждения замены строки показываются полностью (раньше они
показывались до первого символа 0x00)
! Иногда парсеру регэкспов подсовывалось не то, что надо, поэтому иногда
неправильно обрабатывались регэкспы типа /\bword\B/ и /^/...
+ Можно использовать системную историю для строки "Заменить на". Забыл сделать
в прошлой версии... :-)
+ Теперь можно использовать любую историю для строк поиска, замены, масок (см.
настройки).
* Теперь плагин работает и на временной панели (и подобных), правда, только
при поиске в выделенных файлах.
* Переделал все связанное с поиском файлов по маске. Теперь не строится
никаких предварительных списков файлов. Поиск идет сразу же в найденном по
маске файле. Как результат этого - уменьшилась потребность в памяти, а
количество обрабатываемых файлов при поиске и замене не ограничивается
ничем.
* При обычном поиске находится не более 15 тысяч файлов, но, я думаю, вам
этого хватит? :-)
+ Спецсимвол $ при работе с регэкспами в строке поиска трактуется как \r\n
(см. настройки)
+ Можно указывать минимальный и/или максимальный размер искомых файлов.
+ Можно указывать необходимую дату (или временной период) искомых файлов.
+ В лог пишется смещение (в десятичной системе) на найденное.
+ Обработка нажатия ESC при поиске в текущем файле.
* FAQ.txt
- Устарела пара ключей в реестре (SystemHistory и ShowProgress). Вы можете
удалить их, импортировав в реестр файл RemoveOddKeys.reg
* Размер dll увеличился с 40960 до 45056... Матереем... :-)))
---------------¬
¦0.4/21.05.2000¦
L==============-
! Иногда выводилось неправильное сообщение при запросе подтверждения
замены (например, при работе с unicode).
! Корректно обрабатываются файлы нулевой длины.
! Far погибал смертью храбрых. Вроде, жук пойман и уничтожен...
* Имена файлов в диалогах и сообщениях показываются с путем (лишнее
обрезается слева). Проще ориентироваться стало, imho...
* Новый модуль разбора регэкспов от Игоря Русских. Теперь работа с
регулярными выражениями корректна (по его словам ;-) в любой
кодировке.
* Изменен способ выбора кодировки. В основном диалоге показывается
имя кодировки.
* Изменено сообщение при построении списка файлов (в это время
давить Esc бесполезно).
+ При поиске показывается имя обрабатываемого файла.
+ В запросе о подтверждении замены указывается смещение найденных
данных от начала файла, количество меняемых байтов и количество
байтов, записываемых вместо них.
+ Проверка на "глупые" регэкспы типа /a*/. Теперь при использовании
подобного может ничего не найтись, но это, imnsho, лучше, чем
зацикливание...
+ Можно удалять из файла лишнюю информацию - все кроме найденного
(например, чистить логи, листы рассылки и т.п.).
+ Появилось понятие "схема" - заранее сохраненные настройки
программы. Работа со схемами позволяет вам сохранять свои часто
используемые настройки поиска и замены, чтобы в следующий раз
воспользоваться готовым! Все схемы пишутся:
- для пользователя по умолчанию сюда:
HKEY_CURRENT_USER\Software\Far\Plugins\S_And_R\Scheme
- для пользователя Guest сюда:
HKEY_CURRENT_USER\Software\Far\Users\Guest\Plugins\S_And_R\Scheme
+ Можно использовать системную историю для строк "Искать" и "Искать
по маске".
+ Возможность работы со списком найденных файлов: переход к
конкретному файлу, сохранение списка найденного в файл, просмотр,
редактирование конкретного файла. Думаю, понравится... :-)
* Т.к. список найденного может быть сохранен несколько раз в файлы с
отличающимися именами, то переход при выходе из плагина происходит
к последнему логу.
* FAQ.txt
* Размер dll увеличился с 36864 до 40960...
* Остальное не помню ;-)
---------------¬
¦0.3/23.04.2000¦
L==============-
! Количество обработанных файлов было равно количеству
произведенных замен. Sorry :-)
! Исправлены некоторые "косметические" баги в сообщениях об ошибках
! Проверялись не все подкаталоги
+ Курсор появляется в строке "Искать" автоматически (это не был баг,
просто забыл это сделать в предыдущих версиях...)
+ Можно производить только поиск. Данная возможность еще не
доработана. На текущий момент результат поиска записывается в
файл.
+ В строке поиска/замены можно использовать регулярные выражения!
Ура*3! Мне данный плагин стал самому нравиться :-)
На текущий момент не гарантируется нормальная работа с кодировками,
отличными от OEM (т.е. у вас может ничего не найтись)
+ Добавил обработку нажатия ESC
+ Теперь можно заменять на пустую строку
+ При выборе таблицы символов автоматически выбирается соответствующая
радио-кнопка
+ Диалог подтверждения замены
+ Появилось меню настройки
+ Сообщение о том, что ничего не нашли (см. Настройки)
+ Выводится количество найденного
* Изменен FAQ (см. faq.txt)
+ english LNG
* Размер dll увеличился с 16384 до 36864, но оно того стоит...
---------------¬
¦0.2/02.04.2000¦
L==============-
+ Можно искать/заменять текст в кодировках FAR'овских таблиц
+ Появилась возможность регистронезависимого поиска (кроме Unicode)
+ Малюсенький FAQ
---------------¬
¦0.1/28.03.2000¦
L==============-
Я подумал: "А почему бы и нет?"
И оно родилось... Юзайте!
Ошибок не обнаружено, но сия версия прожила мало...
----¬
¦EOF¦
L===-