Сохранённые преобразования текста
Преобразование — небольшой набор правил поиска и замены, который вы сохраняете и запускаете вручную. С его помощью можно очистить вставленный текст, отсортировать список, убрать пробелы в конце строк или оформить фрагмент блоком кода. Выберите преобразование в меню Format, просмотрите изменения и решите, применять ли их.
Настройки точно говорят, что это такое: "Сохраненные правила поиска/замены и несколько встроенных текстовых операций. Это не скрипты: Varlig никогда не запускает команды оболочки, плагины или сетевые запросы для них и никогда не применяет их самостоятельно — не при импорте, вставке или открытии заметки. Вы выбираете один из Format ▸ Transformations и видите его изменения, прежде чем что-либо будет применено».
Где хранятся
Список находится в Settings › Editor › Text Transformations и изначально пуст. Пока вы не добавите преобразование, меню Format › Transformations показывает No Transformations, и никакие преобразования не выполняются.
Команда Add Transformation создаёт преобразование с именем Transformation и одним правилом Find and Replace. У каждого преобразования есть:
| Поле | Действие | По умолчанию |
|---|---|---|
| Name | Название в меню Format. | Transformation |
| Applies to | Selection или Whole Note. | Selection |
| Show in Format menu | Показывать ли преобразование в Format › Transformations. | Включено |
| Правила | Add Rule добавляет правило; Remove Last Rule удаляет последнее. | Одно правило Find and Replace |
В каждой строке в списке также есть кнопка для дублирования и одна для удаления.
Преобразование, которое не завершено - без имени, без правил или шаблон, который не компилируется - помечается в Настройках с причиной и остается вне Format › Transformations, пока вы не исправите его.
Сохранённые преобразования текста синхронизируются между Mac, iPhone и iPad через iCloud. На Mac включите Sync notes with iCloud. Каждое устройство хранит локальную копию в своих настройках, поэтому преобразования работают и без сети; в экспорт заметок и резервные копии библиотеки они не входят.
Правила
Правила выполняются последовательно: каждое получает результат предыдущего. Условий и ветвления нет.
| Правило | Действие |
|---|---|
| Find and Replace | Обычный текст с параметрами Match Case и Whole Words; оба изначально выключены. |
| Regular Expression | Регулярное выражение ICU; в замене доступны группы захвата $1 и ${name}. |
| UPPERCASE | Переводит текст в верхний регистр. |
| lowercase | Переводит текст в нижний регистр. |
| Title Case | Каждое слово с заглавной буквы. |
| Sort Lines | Сортирует строки. |
| Unique Lines | Из повторяющихся строк оставляет первое вхождение. |
| Trim Trailing Spaces | Удаляет пробелы в конце каждой строки. |
| Join Lines | Соединяет строки указанным Separator. |
| Split Lines | Разбивает текст по значению Split at, помещая каждую часть на отдельную строку. |
| Wrap in Code Fence | Помещает текст в ограждённый блок кода с указанным Language. |
Правило представляет собой набор значений, а не исполняемый код. Регулярные выражения компилируются и проверяются тем же механизмом, что и в Edit › Find and Replace (Advanced)…. Некорректный шаблон помечается в настройках ещё до запуска.
Применение преобразования
На Mac запустите преобразование через Format › Transformations › name. На iPhone и iPad используйте меню Transformations в редакторе. У преобразований нет сочетаний клавиш, и они никогда не запускаются автоматически при открытии заметки, импорте, вставке или переводе приложения в фон.
Если для Applies to выбрано Selection, сначала выделите текст. Вариант Whole Note применяет правила ко всей заметке.
Varlig выполняет правила на копии и показывает предпросмотр со списками Removes 4 lines и Inserts 4 lines. В них остаются только изменённые части, не более 40 строк в каждом списке; если строк больше, появляется пояснение. Внизу указано, что до нажатия Apply ничего не изменится и результат можно отменить одним шагом. Cancel оставляет заметку без изменений, а Apply применяет их как одно редактирование, отменяемое через Edit › Undo (⌘Z).
Если после подготовки предпросмотра заметка изменилась, Apply откажется применять результат и предложит запустить преобразование заново, чтобы не перезаписать более свежий текст.
Если преобразование не запускается
При любой ошибке заметка остаётся без изменений: частично применённых преобразований не бывает. Вместо изменения текста появляется объяснение:
- «Преобразования не работают с защищёнными заметками, заметками только для чтения и заметками из Trash». То же относится к библиотеке только для чтения.
- «В одном правиле найдено более 10 000 совпадений. Ограничьте область преобразования».
- «Преобразование заняло слишком много времени. Упростите правила или уменьшите область обработки».
- «Это преобразование здесь ничего не меняет».
- Сообщение также объясняет конкретную причину: некорректный шаблон, отсутствующую группу захвата или пустой текст для поиска, отсутствие имени или правил преобразования либо запуск Selection без выделенного текста.
Ограничения
| Параметр | Ограничение |
|---|---|
| Сохраненные преобразования | 50 |
| Правила в одном преобразовании | 20 |
| Совпадений в одном правиле | 10,000 |
| Время всего преобразования | 1,5 секунды |
Предпросмотр преобразования сразу для нескольких заметок недоступен. Чтобы изменить несколько заметок, используйте Edit › Replace in Notes…: эта команда показывает изменения отдельно для каждой заметки.
Результат преобразования — всегда обычный Markdown без специальных конструкций Varlig. Другой редактор увидит именно тот текст, который сохранил Varlig.