View previous topic :: View next topic |
Author |
Message |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Sun Feb 05, 2006 21:22 Post subject: [Req] Плагин для search/replace в файлах |
|
|
Родилась идея wdx-плагина для find-replace в файлах.
Значением поиска для поля плагина задаём какую-то строку, содержащую в себе параметры какой текст на что менять, например так:
{текст_который_надо_заменить_в_найденных_файлах}{текст_которым_надо_заменить}
Плагин ищет в файлах текст по первому условию и заменяет на текст по второму. Не обязательно текст, любые байтовые последовательности... принцип, думаю, ясен.
Плагиновое API это позволит 100%
Как идея? Кто возьмётся? _________________ База знаний о Total Commander
Блог |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6180 Location: Москва
|
(Separately) Posted: Sun Feb 05, 2006 22:14 Post subject: |
|
|
D1P
Ага. А потом кто-нибудь создасть набор колонок с полем этого плагина и, случайно открыв каталог Windows, будет долго материть всех на свете. Плагин же не может определить нормальным способом, откуда его вызывают - из поиска или откуда-то из другого места. |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6180 Location: Москва
|
(Separately) Posted: Sun Feb 05, 2006 22:17 Post subject: |
|
|
Хотя стоп. Ты тупишь, а я вслед за тобой! Откуда плагин вообще узнает, что пользователь ввёл в поле поиска? Это же всё Тотал сам обрабатывает, к плагину же лишь выполняются обращения вида: скажи-ка мне, друг любезный, а каково значение такого-то поля для такого-то файла? А вот для этого? А вон для того?.. |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Mon Feb 06, 2006 02:30 Post subject: |
|
|
Quote: | Откуда плагин вообще узнает, что пользователь ввёл в поле поиска? |
На вкладке "плагины" в инструменте поиска в поле "значение" вводим строку с условиями. Из этих условий плагин и будет узнавать, что искать. Естественно, это будет не совсем контентый плагин по функционалу... Скорее это будет просто способ прикручивания нужной фичи к TC обходными путями.
Защиту от дурака тоже можно сделать - плагину достаточно проверять, существует ли дочернее окно TC класса TFindFile.
Вот сейчас подумал: если поиск в TC сначала ищет файлы по общим условиям, а потом "отдаёт" на проверку wdx-плагину, тогда всё просто. А если сначала идёт поиск по полям плагина (что, имхо, маловероятно) - тогда да, овчинка выделки не стоит, слишком сложной будет реализация (одному плагу придётся дублировать все функции поиска TC).
Если непонятно - попытаюсь утром написать простенький примерчик, заодно и проверю, что и как в поиске TC работает.
Сразу предвещу вопрос "а почему бы просто не сделать внешнюю утилиту?" - да как раз потому, что хочется пользоваться поиском TC.
---
И ещё, в качестве оффтопика. Попробовал прогу Yandex Desktop Search (http://desktop.yandex.ru/)... может у кого есть какие идеи, как прикрутить её к поиску в TC? Мне пока приходит только мысль сделать плагин-парсер выходного html... |
|
Back to top |
|
 |
CaptainFlint

Joined: 14 Dec 2004 Posts: 6180 Location: Москва
|
(Separately) Posted: Mon Feb 06, 2006 02:40 Post subject: |
|
|
Quote: | На вкладке "плагины" в инструменте поиска в поле "значение" вводим строку с условиями. Из этих условий плагин и будет узнавать, что искать. |
Так ведь эта строка всё равно не передаётся плагину, Тотал сам выполняет сравнение этой строки с тем, что возвращает плагин по запросу. Или я чего-то не так понял? |
|
Back to top |
|
 |
D1P

Joined: 20 Dec 2004 Posts: 2973 Location: Тбилиси
|
(Separately) Posted: Mon Feb 06, 2006 03:35 Post subject: |
|
|
Да, ты прав, это я ошибся Стал писать пример и только тогда понял, что условия не передаются плагину.
Конечно, это можно обойти (находить контрол с условием на закладке "Плагины" и читать текст условия оттуда), но это уже чревато проблемами.
Ладно, идея отклоняется, тему можно считать исчерпанной. |
|
Back to top |
|
 |
Моторокер

Joined: 06 May 2005 Posts: 1517 Location: г. Пермь (читается Перьмь)
|
(Separately) Posted: Thu Aug 03, 2006 10:45 Post subject: |
|
|
Поиск и замену лучше реализовать через архиваторный плагин – все удобства налицо.
Создать список файлов легко – просто выделить нужные файлы/папки. За программиста это делает Total.
Перед упаковкой вызвать диалог настроек, в котором задать условия для поиска/замены.
Остально делается в цикле упаковки – запрограммировать нужно только функцию замены.
+ Прикрутить RegExp и вперёд! Не нужны больше никакие платные или глюкавые серчеры/реплейсеры! _________________ плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми |
|
Back to top |
|
 |
|