2013-01-03 17 views
8

मैं कस्टम एक्सटेंशन (जैसे *.ltx, *.cmake इत्यादि) के साथ बिल्ड सिस्टम में चयनकर्ता को कैसे परिभाषित कर सकता हूं जिसके लिए कोई उपलब्ध चयनकर्ता नहीं है (जैसे text.tex.latex, source.c++ आदि)?सब्लिमे टेक्स्ट 2: बिल्ड सिस्टम कस्टम चयनकर्ता

क्या यह संभव है? यदि हां - कैसे?

उत्तर

12

यह संभव है, यदि आप एक नई वाक्यविन्यास परिभाषा परिभाषित करते हैं (यानी, एक नई .tmanguage फ़ाइल)। सिंटेक्स परिभाषाएं नए 'स्कोप नाम' घोषित कर सकती हैं जिनका उपयोग आप अपने नए, कस्टम बिल्ड सिस्टम में कर सकते हैं।

नई वाक्यविन्यास परिभाषा फ़ाइल को वास्तव में फ़ाइल के सिंटैक्स को परिभाषित/मिलान नहीं करना है, क्योंकि आप बस फ़ाइल एक्सटेंशन से मेल खाते हैं ...!

.tmLanguage फ़ाइल वाक्यविन्यास पर here पर एक नज़र डालें। "स्कोपनाम" आइटम आपको अपने नए दायरे का नाम देने की अनुमति देता है (यानी, "text.tex.latex", आदि)। मैं नीचे एक उदाहरण के माध्यम से जाना होगा।


मैं एक नया वाक्य रचना जो एक नई गुंजाइश परिभाषित बनाया - यह काफी आसान था (उदात्त में सबसे चीजों की तरह):

  • कमान पैलेट में, चुनें 'पैकेज नियंत्रण: पैकेज इंस्टॉल'
  • संकुल की सूची में, 'PackageDev'
  • उपकरण> संकुल> पैकेज विकास> नई सिंटेक्स परिभाषा
  • चयन करके एक नया वाक्य रचना परिभाषा बनाएं
  • आपका नया वाक्य रचना परिभाषा इस तरह दिखेगा:
 
{ "name": "Syntax Name", 
    "scopeName": "source.syntax_name", 
    "fileTypes": [""], 
    "patterns": [ 
    ], 
    "uuid": "..." 
}

... की जगह "सिंटेक्स नाम" को एक वर्णनात्मक नाम "source.syntax_name" अपने नए गुंजाइश नाम के साथ साथ, और की पूर्ति करें "फ़ाइल प्रकार" एक या अधिक फ़ाइल एक्सटेंशन रखने के लिए। उदाहरण के लिए:

"fileTypes": ["tex", "ltx"]

  • फ़ाइल पैकेज के तहत एक ".json-tmLanguage" एक्सटेंशन का उपयोग कर/उपयोगकर्ता
  • करें उपकरण> tmLanguage
  • करें को बिल्ड सिस्टम> Json चुनें सहेजें टूल्स>

आप कर चुके हैं! "फाइल टाइप" में परिभाषित एक्सटेंशन में से कोई भी नई फाइल "स्कोपनाम" स्कोप को सक्रिय करेगी।

अब आप इस दायरे एक नई प्रणाली बिल्ड फ़ाइल में (उपकरण का निर्माण प्रणाली> नई प्रणाली बिल्ड ...>)

चीयर्स उपयोग कर सकते हैं!

+0

क्या मैं टेक्स्टमेट 2 में लेटेक्स कोड में \ section {text} शीर्षलेखों को बड़ा बनाने के लिए इसका उपयोग कर सकता हूं? http://tex.stackexchange.com/questions/98574/textmate-2-how-can-increase-font-size-of-sections-in-the-markup-code –

+1

@ macmadness86 दुर्भाग्य से, नहीं। मैंने .tmTheme वाक्यविन्यास के बारे में जो कुछ पाया, उस पर थोड़ा सा देखा है, और ऐसा लगता है कि यह केवल 'फ़ॉन्ट स्टाइल' का समर्थन करता है (जिसमें से सब्लिम 'बोल्ड' और 'इटालिक' का समर्थन करता है) और 'अग्रभूमि' और 'पृष्ठभूमि' रंग ।मैंने कोई कस्टम 'फ़ॉन्ट आकार' सेटिंग सेट करने का प्रयास नहीं किया है। यहां देखें (विशेष रूप से टिप्पणियों में): http://sublimetext.userecho.com/topic/20780-implement-fontstyle-in-tmtheme/ और http://stackoverflow.com/questions/9345222/syntax- विशिष्ट- हाइलाइटिंग- साथ-साथ-साथ-पाठ-2 के साथ-साथ –

संबंधित मुद्दे