تحويلات النص المحفوظة
التحويل مجموعة صغيرة من قواعد البحث والاستبدال تحفظها مرة واحدة وتشغّلها عند الحاجة: لتنظيف نص ملصق، أو فرز قائمة، أو إزالة المسافات في نهايات الأسطر، أو إحاطة كتلة نصية بعلامات كتلة الشيفرة. تختار التحويل من قائمة Format، وتعاين التغييرات المقترحة، ثم تقرر تطبيقها.
توضّح الإعدادات طبيعة هذه التحويلات: «قواعد بحث واستبدال محفوظة وبعض العمليات النصية المضمّنة. ليست برامج نصية: لا يشغّل Varlig أي أوامر shell أو إضافات أو طلبات شبكة لتنفيذها، ولا يطبّق أيًا منها تلقائيًا، سواء عند استيراد ملاحظة أو لصق نص أو فتح ملاحظة. تختار التحويل من 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 واحدة |
يحتوي كل صف في القائمة أيضا على زر لتكراره وواحد لحذفه.
إذا لم يكتمل التحويل — لغياب اسمه أو قواعده، أو لوجود نمط يتعذّر تجميعه — يظهر في Settings تنبيه يوضح السبب، ولا يُدرَج التحويل في 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)…. إذا تعذّر تجميع نمط، يظهر تنبيه بشأنه في Settings قبل أن تطبّقه.
تطبيق تحويل
على 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 تطبيق التحويل ويطلب تشغيله مجددًا، بدل الكتابة فوق النص الأحدث.
عند تعذّر تشغيل تحويل
عند حدوث أي فشل، تبقى الملاحظة كما كانت تمامًا؛ فلا يُطبَّق التحويل جزئيًا أبدًا. توضّح كل رسالة ما حدث دون إجراء أي تغيير:
- «لا تعمل التحويلات على الملاحظات المحمية أو المخصّصة للقراءة فقط أو الموجودة في سلة المهملات.» وينطبق الأمر نفسه على مكتبة للقراءة فقط.
- «توجد أكثر من 10,000 مطابقة في قاعدة واحدة. ضيّق نطاق التحويل.»
- «استغرق التحويل وقتًا أطول من المسموح. بسّط قواعده أو استخدم نطاقًا أصغر.»
- «لا يُحدث هذا التحويل أي تغيير هنا.»
- قاعدة بنمط غير صالح، أو مجموعة التقاط مفقودة، أو نص بحث فارغ؛ أو تحويل بلا اسم أو بلا قواعد؛ أو تشغيل تحويل Selection من دون تحديد نص. تحدد الرسالة الحالة المعنية بالاسم.
الحدود
| العنصر | الحد |
|---|---|
| تحويلات النص المحفوظة | 50 |
| عدد القواعد في التحويل الواحد | 20 |
| عدد المطابقات في القاعدة الواحدة | 10,000 |
| المدة القصوى لتنفيذ التحويل كاملًا | 1.5 ثانية |
لا تتوفر معاينة تجريبية للتحويل على عدة ملاحظات. لتعديل ملاحظات كثيرة دفعة واحدة، استخدم Edit › Replace in Notes…، الذي يعاين تغييرات كل ملاحظة على حدة.
لا ينتج التحويل إلا Markdown عاديًا، لذلك لا يكتب أي شيء خاصًا بـVarlig، ويرى أي محرر آخر النص نفسه الذي حفظه Varlig.