Replace EX

Здесь обсуждается всё, что касается макросов.
Post Reply
Shmuel
Posts: 7121
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 611 times

Replace EX

Post by Shmuel »

Возможно кому-то может быть полезным: моя новая утилита Replace EX.
Это замена в файлах из панелей.
Файл читается в память целиком, в памяти же производятся замены, и пишется на диск, если содержимое изменилось.
Файлы с бинарными нулями и файлы с невалидным UTF-8 пропускаются.
Отличается от LF Search тем, что поиск в файле не построчный (есть и другие отличия).
Документация, сгенерированная Copilot (и слегка затем подправленная) - в той же папке.
Если кто-то решится пробовать - все известные меры предосторожности должны быть заранее предприняты.

P.S. Прошу прощения, забыл, что утилита работает с двумя модулями.
Прикрепляю здесь, их надо распаковать в папку %FARPROFILE%\Macros\modules\far2.
mods.7z
(10.39 KiB) Downloaded 8 times
Last edited by Shmuel on Tue 02 Dec, 2025 19:43, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 14430
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 86 times
Been thanked: 486 times
Contact:

Replace EX

Post by John Doe »

Интересно почему отдельная утилита а не часть плагина?
Или это эксперимент, и в будущем может быть всё же интегрирована?
Shmuel
Posts: 7121
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 611 times

Replace EX

Post by Shmuel »

John Doe wrote: Wed 03 Dec, 2025 14:35 Или это эксперимент, и в будущем может быть всё же интегрирована?
Возможно, когда-нибудь, но скорее всего всё равно как отдельный диалог, потому что на основательную переработку плагина совсем не настроен. А интегрировать как отдельный пункт меню должно быть просто. Но пока пусть поживёт отдельно.
User avatar
John Doe
Бюрократ
Posts: 14430
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 86 times
Been thanked: 486 times
Contact:

Replace EX

Post by John Doe »

Безусловное чтение файла целиком не очень надёжно, полагаю это для простоты прототипа?
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 7121
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 47 times
Been thanked: 611 times

Replace EX

Post by Shmuel »

Утилита предназначена для обработки текстовых файлов.
Сейчас добавляю настраиваемое ограничение (по умолчанию 256 MiB) с возможностью решать юзеру пропускать файл или обрабатывать.
Чтение файла целиком позволяет корректно обрабатывать любые регулярные выражения.
Ну, если этого недостаточно, считайте, что таково ограничение утилиты.
User avatar
John Doe
Бюрократ
Posts: 14430
Joined: Wed 27 Apr, 2005 20:42
Location: github.com/FarManagerLegacy
Has thanked: 86 times
Been thanked: 486 times
Contact:

Replace EX

Post by John Doe »

Shmuel wrote: Wed 03 Dec, 2025 16:18 Ну, если этого недостаточно, считайте, что таково ограничение утилиты.
Я думаю что в 99% случаев этого достаточно.
В идеале наверно можно было бы придумать "плавающий" буфер, позволяющий обрабатывать и файлы произвольного размера. Но там были бы другие ограничения.
https://t.me/FarManager — Telegram чат
Post Reply

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