Подключение
Фабрика createSearchReplacePlugin(), id search-replace. Требуется pro и включённый features.plugins.
import { ViText, createSearchReplacePlugin } from '@vitext-ru/editor';
const editor = new ViText('#editor', {
preset: 'pro', language: 'ru',
plugins: [createSearchReplacePlugin()]
});
ViText импортируется как в ESM-инструкции; для script используйте ViText.createSearchReplacePlugin.
Поведение
Команда open открывает форму: буквальный поиск, регистр/слово целиком, далее/назад, заменить одно/все. Активное совпадение выделено; поиск проходит через inline-оформление, но не пересекает блоки, переносы и изображения. Пустая замена удаляет текст; новая строка не допускается. HTML в замене остаётся текстом. Новое слово наследует marks первого символа. «Заменить всё» — одна операция истории.
Управление и очистка
Ниже альтернативный способ подключения к существующему экземпляру. Не устанавливайте один id дважды.
editor.usePlugin(createSearchReplacePlugin());
editor.executePluginCommand('search-replace', 'open');
removePlugin('search-replace') также удаляет расширение. Destroy автоматически освобождает его ресурсы. Подписки и UI-вклады отзываются; документ сохраняется. Контракт плагинов.