تيكست مايت (محرر نصوص)

النطاقات المتداخلة

يسمح تيكست مايت للمستخدمين بالقيام بإنشاء أنماط تمييز الصيغة الخاصة بهم وذلك باستخدام نسخة معدلة من نظام أسكي الخاص بأبل وهو ما يعرف بقائمة الخصائص وذلك بهدف تعريف قواعد اللغة المستهدفة، وتسمح هذه القواعد بتعريف قوانين النطاقات المتداخلة ويتم ذلك عن طريق المكتبة البرمجية المسمى (أونيغوروما) -و هي مكتبة برمجية للتعابير النمطية تندرج بنود استخدامها تحت رخصة بي أس دي- ومن ثم يتم تعيين نطاقات محددة لهذه القواعد وهذه النطاقات يتم تحديدها عن طريق علامات مركبة بهدف تمييزها عن طريق الألوان. ولهذا السبب يتم تعيين كل منطقة في شاشة التحرير بنطاق واحد على الأقل بهدف التمييز والذي يعمل بدوره على تحديد المنطقة المراد تمييزها وكيفية تلوينها بالإضافة إلى تحديد السلوك الذي سيقوم تيكست مايت بتطبيقه على تلك المنطقة من شاشة المحرر، فعلى سبيل المثال العنوان المخصص لأحد الروابط في مقطع "الروابط الخارجية" يمكن تعيينه بالنطاق التالي:
text.html.mediawiki
    markup.list.mediawiki
        meta.link.inline.external.mediawiki
            string.other.link.title.external.mediawiki
حيث يخبرنا هذا النطاق أننا نبحث عن عنوان رابط (link title) متداخل مع رابط آخر (link) والذي بدوره يتداخل مع قائمة (list) والتي بدورها تتداخل مع وثيقة ميدياويكي (MediaWiki document).
تستطيع سمات تيكست مايت وضع علامات على أي نطاق وذلك على أي مستوى من مستويات الضبط، فعلى سبيل المثال تستطيع إحدى السمات القيام بتلوين جميع الثوابت (constant.*) -و الثابت هو قيمة محفوظة في الذاكرة الرئيسية للنظام ولا تتغير هذه القيمة أثناء تنفيذ البرنامج ويمكن أن تحمل أي نوع من أنواع البيانات- وذلك بشكل مماثل لجميع الثوابت المكتوبة على وثيقة التحرير، بينما تقوم سمة أخرى بتلوين الثوابت العددية (constant.numeric.*) بلون مختلف عن ما قامت به السمة السابقة (لاحظ هنا أن السمة الأولى تصرفت بجميع أنواع الثوابت -بما فيها العددية- وأن السمة الثانية قامت بتمييز الثوابت العددية فقط ومن هنا يأتي معنى النطاقات المتداخلة).

الأوامر

يدعم تيكست مايت أوامر المستخدم المعرفة (user-defined commands) وأوامر المستخدم المعدلة (user-editable commands) والتي يتم تنفيذها عن طريق مفسر سطر الأوامر باش أو المفسر الذي يتم تحديده عن طريق علامة شي بانغ (Shebang أو ما يعرف بعلامة "!#")، ويمكن للمستخدمين القيام بإرسال أنواع عديدة من المدخلات لهذه الأوامر عبر المحرر تيكست مايت وتشمل أنواع هذه المدخلات (الملف الذي يتم تحريره، والنصوص المحددة "التي يتم تحديدها بواسطة فأرة"، والكلمة الحالية) وغيرها من أنواع المدخلات بالإضافة إلى متغيرات البيئة التنفيذية، وأما بالنسبة إلى المخرجات فيتم التعامل معها وعلاجها بشكل مماثل وبطرق متعددة، وكمثال بسيط لتطبيق خاصية الأوامر في تيكست مايت يتم تحديد إحدى الكلمات كمدخلة للأمر المراد تنفيذه ويقوم الأمر بمعالجة هذه الكلمة ومن ثم يقوم باستبدال الكلمة المدخلة بمخرجات عملية التنفيذ ووضعها في الملف الذي يتم تحريره في مكان الكلمة المدخلة، وهناك أوامر أخرى تقوم باظهار تلميح وظيفي، ويمكن أيضاً استخدام مخرجات الأوامر لإنشاء ملف جديد أو اظهاره على شكل صفحة ويب باستخدام مفسر لغة أتش تي أم أل الخاص بتيكست مايت والمضمن معه.
هناك العديد من حزم لغات البرمجة مثل باش وبي أتش بي وروبي التي تحوي أوامر لترجمة الشيفرة المصدرية وتنفيذ برامجها وذلك من خلال نفس ملف التحرير وفي حالات عديدة يتم إظهار نتيجة تنفيذ هذه البرامج على نافذة مضمنة بتيكست مايت.

حزم اللغات (لغات البرمجة)

يمكن حصر قواعد اللغات والمقاطع النصية والماكروات والأوامر والقوالب في وظيفة واحدة لحزمة لغة بحيث يمكن تنفيذ أي أمر أو مقطع نصي أو ماكرو من خلال اختصارات لوحة المفاتيح فعلى سبيل المثال يمكن للمستخدم القيام بكتابة كلمة محددة ومن ثم الضغط على زر Tab ⇆ لتنفيذ الأوامر أو الماكروات أو تضمين المقاطع النصية المحددة في الحزمة.
يتضمن تيكست مايت وبشكل إفتراضي 36 حزمة ولكن يوجد أكثر من 120 حزمة إضافية في مستودع سبفيرجن المخصص لتيكست مايت وتشمل العديد من الوظائف المعروفة.

مدير المشاريع

يستطيع المستخدمون القيام بفتح أكثر من ملف وأكثر من مجلد باستخدام نافذة نظام مدير المشاريع والذي يقدم بدوره خاصية فتح الملفات باستخدام عملية السحب والافلات من قائمة العرض التي تعرض أسماء الملفات والمجلدات والمتواجدة على جانب نافذة المحرر ويتم فتح هذه الملفات والمجلدات باستخدام خاصية نوافذ الألسن وعرضها على المقطع العلوي من نافذة المحرر، ويستطيع المستخدمون أيضاً القيام بعمليات البحث (و البحث والاستبدال) على مستوى المشاريع بالاضافة إلى قابلية تنفيذ الأوامر على مستوى الملفات أو المجلدات التي يتم سردها على قائمة العرض الجانبية.

مجتمع المطورين والمستخدمين

يوجد لدى تيكست مايت مجتمع مكون من المطورين والمستخدمين اللذين يقومون بالمساهمة في حزم اللغات المفتوحة المصدر ويقومون برفع هذه المساهمات على مستودع سبفيرجن المخصص لتيكست مايت. ، ويوجد أيضاً لدى مجتمع تيكست مايت موقع ويكي مخصص للتلميحات والنصائح والإقتراحات والروابط للمصادر الخارجية، كما ويوجد كذلك نظام للتبليغ عن العلل والأخطاء البرمجية باللإضافة إلى وجود قناة آي آر سي مخصصة للنقاش والتحاور وتقديم المساعدة حول تيكست مايت (و عادةً ما تكون قناة textmate# فعالة).
ويقوم مستخدمو تيكست مايت بكتابة النصوص البرمجية باستخدام العديد من لغات البرمجة ومن البديهي أن يوجد لكل لغة برمجة حزمة خاصة بها، ومن المثير للاهتمام أن معظم حزم اللغات يتم دعمها بواسطة مستخدمين رئيسيين فعلى سبيل المثال يقوم دافيد هاينماير هانسون (مبتكر إطار روبي أون ريلز) بدعم الحزمة الخاصة بلغة روبي.