Regular Expression Search and Replace (RESearch)
Re: Regular Expression Search and Replace (RESearch)
Latest post of the previous page:
Согласно ScriptEvaluation.txt:Also, scripts can append additional information to the end of file after performing File / Editor Replace.
In order to do that, script can check value of final() function and return data when final()) is true.
If script didn't call final(), no data is appended.
Поскольку script can check value of final() function, а не script must check value of final() function, то ...
Но действительно работает, хоть это и не айс вставлять везде такое.
- John Doe
- Бюрократ
- Posts: 13075
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Regular Expression Search and Replace (RESearch)
Это легко исправить в RESearch.AleXH wrote:Поскольку script can check value of final() function, а не script must check value of final() function, то ...
Re: Regular Expression Search and Replace (RESearch)
Немного не по теме - но вообще мне кажется что это очень уж нецелевое использование плагина...AleXH wrote:В данном случае ничего сохранять не нужно, скрипт сам в себе
Re: Regular Expression Search and Replace (RESearch)
Ну если мне кто-нибудь придумает, как сделать - я сделаю.John Doe wrote:Это легко исправить в RESearch.AleXH wrote:Поскольку script can check value of final() function, а не script must check value of final() function, то ...
Как вариант, можно смотреть, вызвал ли скрипт ее хоть раз вообще, правда тогда обломается финальный вызов для случая, если вообще не нашли ни одного совпадения, но наверное это не страшно.
Re: Regular Expression Search and Replace (RESearch)
Вот этого я, кстати, повторить не смог.AleXH wrote:Если нажать ESC, то выдаются диалоги от которых невозможно избавиться - приходится убивать фар.
Re: Regular Expression Search and Replace (RESearch)
Почему не целевое? - Если писать преобразователь на том же lua, то придётся создавать модуль с функциями, выполняющими роль пресетов и батчей, сортировку, фильтрацию, таблицы-словари замен, и тд и тп. Плюс надо видеть ASCII текст в процессе преобразования для поэтапной отладки из-за постоянно меняющихся входных данных - всё это удобно делать в FAR с RESearch, Sort strings, макросом высвечивающим кириллицу мимикрирующую под латиницу и др. макросами, которые создают удобную среду для работы. Без вашего инструмента я парился бы гораздо больше, большое вам спасибо за него.
- John Doe
- Бюрократ
- Posts: 13075
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Regular Expression Search and Replace (RESearch)
FYI: подобные пользовательские скрипты также поддерживаются в плагине LuaFAR Search.
Re: Regular Expression Search and Replace (RESearch)
Определяющим в моём выборе было на момент, когда стал вопрос - чем? - Был PCRE, с его комфортным синтаксисом и развитыми возможностями, батчи, позволяющие использовать ранее сделанные правила (пресеты) в новом конверторе, попресетная отладка, которая в купе с ASCII видом получаемого текста, позволяет быстро локализовывать проблему при косяках во входном тексте и быстро её фиксить. Ситуация такова, что на вход идёт текст с хаотичными вкраплениями "кривизны", так как он набирается руками (не моими), а на выходе нужно получить строго требуемый текст с точностью до пробела, иначе фильтр импорта (не мой) его не "всосёт". А поскольку идёт постоянная динамика, то постоянная правка скриптов будет более времязатратной.
- John Doe
- Бюрократ
- Posts: 13075
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 42 times
- Been thanked: 319 times
Re: Regular Expression Search and Replace (RESearch)
Я не намеревался рекламировать LuaFAR Search, но из вашего поста можно сделать превратный вывод, будто он не работает с PCRE.
На самом деле PCRE входит в число поддерживаемых движков. И пресеты кстати имеются, например.
(Какой из плагинов лучше подходит для ваших задач я судить не берусь, да и обсуждать это здесь не стоит)
На самом деле PCRE входит в число поддерживаемых движков. И пресеты кстати имеются, например.
(Какой из плагинов лучше подходит для ваших задач я судить не берусь, да и обсуждать это здесь не стоит)
Re: Regular Expression Search and Replace (RESearch)
LuaFAR Search отличный инструмент, но он появился позже, когда уже имелось наследие на RESearch, и он (LuaFAR Search) до сих пор не имеет батчей, а вместе с ними и попресетного исполнения (отладки). Реализовывать батчи макросами непрактично, а на фоне удобства реализации в сабже, я бы даже сказал - мутно. Но даже в случае появления в нём всего того сервиса, что предоставляет RESearch, встал бы вопрос переноса, на который надо тратить время, бороться с возникающими нестыковками и тд. Cavaler хоть и периодически возмущается не целевым, с его точки зрения, использованием своего инструмента, но тем не менее запрашиваемые возможности добавляет, правда не всегда в том виде в каком они запрашивались, но они работают, хоть и не с первого раза 

Re: Regular Expression Search and Replace (RESearch)
Ужасно приятно, на самом деле.AleXH wrote:Без вашего инструмента я парился бы гораздо больше, большое вам спасибо за него.
Теперь-то работает? И можно во внешний файл скинуть скрипт, для остальных это и раньше работало, а для LuaFAR отвалилось.
Re: Regular Expression Search and Replace (RESearch)
Cavaler, всё работает, спасибо. Если отклонял развитие плагина не в ту сторону, то прошу прощения. Скрипты хороши для обработки входного потока без флуктаций, иначе требуются поэтапные откаты изменений для выявления ошибок. В RS это реализовано откатами по пресетам, а в скриптах... - поди наковыряй, что нужно исправить, чтобы пролучить то, что нужно.
Re: Regular Expression Search and Replace (RESearch)
Похоже, нашёл эксклюзивную для 64-битной версии проблему с регулярками.
Есть FAR 3.0 build 4034 x64, RESearchU3 x64.dll Version 8.53.
Запускаем
Получаем
Под 32-бит то же самое работает нормально.
Есть FAR 3.0 build 4034 x64, RESearchU3 x64.dll Version 8.53.
Запускаем
Получаем
Под 32-бит то же самое работает нормально.
Re: Regular Expression Search and Replace (RESearch)
Не могу повторить...DV wrote:Похоже, нашёл эксклюзивную для 64-битной версии проблему с регулярками.
Есть FAR 3.0 build 4034 x64, RESearchU3 x64.dll Version 8.53.
Запускаем
Получаем
Под 32-бит то же самое работает нормально.
А со среды я в отпуске на 2 недели.
Re: Regular Expression Search and Replace (RESearch)
Точно, дело не в 64-битной системе, а в том, что в Региональных настройках язык неюникодных программ стоит Английский. Если поставить Русский, то всё в порядке.
Но ведь FAR Manager юникодный ведь... Или консольный интерфейс всё равно неюникодный?
Но ведь FAR Manager юникодный ведь... Или консольный интерфейс всё равно неюникодный?