------------------------------------¬ ¦"Поиск и Замена" - жизнь и развитие¦ ------------------------¬ 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===-