कस्टम gedit सिंटेक्स डमीज के लिए हाइलाइटिंग?


15

मैं gedit के लिए हाइलाइटिंग एक कस्टम वाक्यविन्यास (वास्तव में) बनाना चाहता हूं।

कुछ अलग आइटम होंगे:

एक पंक्ति जो 2 टैब से शुरू होती है। ----- एक रंग। एक पंक्ति जो 3 टैब से शुरू होती है। ----- एक और रंग। एक पंक्ति जो 4 टैब से शुरू होती है। ----- एक और रंग। और एक लाइन जो INT से शुरू होती है। या EXT। ----- एक और रंग।

यह पटकथा लिखने के लिए है।

मैंने gedit के लिए भाषा परिभाषा विकी पृष्ठ को देखा, लेकिन यह मेरे सिर पर है।

वहाँ एक आसान तरीका है मैं यह कर सकता है?

जवाबों:


16

निम्नलिखित GtkSourceView संदर्भ मैनुअल, भाषा परिभाषा v2.0 ट्यूटोरियल और संदर्भ से लिया गया था ।

निम्न सामग्री के साथ फ़ाइल /usr/share/gtksourceview-2.0/language-specs/screenplay.lang (रूट के रूप में) बनाएँ:

<?xml version="1.0" encoding="UTF-8"?>
<language id="screenplay" _name="Screenplay" version="2.0" _section="Markup">
  <metadata>
    <property name="mimetypes">text/plain</property>
    <property name="globs">*.script</property>
  </metadata>
  <styles>
    <style id="indent2" _name="2x indented"  map-to="def:comment" />
    <style id="indent3" _name="3x indented"  map-to="def:constant" />
    <style id="indent4" _name="4x indented"  map-to="def:identifier" />
    <style id="intext"  _name="INT. or EXT." map-to="def:statement" />
  </styles>
  <definitions>
    <context id="screenplay">
      <include>
        <context id="indent4" style-ref="indent4">
          <start>^\t\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent3" style-ref="indent3">
          <start>^\t\t\t</start>
          <end>$</end>
        </context>
        <context id="indent2" style-ref="indent2">
          <start>^\t\t</start>
          <end>$</end>
        </context>
        <context id="intext" style-ref="intext">
          <start>^(INT|EXT)\.</start>
          <end>$</end>
        </context>
      </include>
    </context>
  </definitions>
</language>

सुनिश्चित करें कि फ़ाइल चलकर विश्व-पठनीय है

sudo chmod 0644 /usr/share/gtksourceview-2.0/language-specs/screenplay.lang

Gedit को पुनरारंभ करें। अब *.scriptआपके द्वारा gedit में खोली गई किसी भी फ़ाइल को नीचे की स्थिति पट्टी में "पटकथा" प्रकार दिखाना चाहिए। 2, 3, या 4 टैब के साथ इंडेंट की जाने वाली लाइनें क्रमशः नीले, मैजेंटा और सियान से युक्त होनी चाहिए, और INT से शुरू होने वाली लाइनें। या EXT। लाल और बोल्ड चेहरा होगा।

आप इसे कुछ तरीकों से समायोजित कर सकते हैं:

  • .scriptफ़ाइल नाम प्रत्यय "globs" संपत्ति में लाइन 5 पर स्थित है। आप इसे स्पष्ट तरीके से बदल सकते हैं, और यदि आप चाहें तो कई मूल्यों को शामिल कर सकते हैं, जो अर्धविराम ( ;) द्वारा अलग किए गए हैं ।

  • जो रंग आपको इंडेंट और INT के लिए मिलते हैं। और EXT। लाइनें उस विशेष रंग योजना पर निर्भर करती हैं, जिसे आपने gedit के लिए चुना है। वे टिप्पणी के रंग, निरंतर, पहचानकर्ता और कथन शैली हैं (यह वही है जो map-to="def:comment"आदि करते हैं)। विभिन्न परिणाम प्राप्त करने के लिए, आप gedit रंग योजना (संपादन> प्राथमिकताएँ> फ़ॉन्ट्स और रंग) बदल सकते हैं, या टैग map-toमें मानों को पुनर्व्यवस्थित कर <style>सकते हैं। यदि आप अधिक नियंत्रण चाहते हैं, तो आप अपनी रंग योजना इस प्रकार बना सकते हैं:

    cd /usr/share/gtksourceview-2.0/styles
    sudo cp classic.xml screenplay.xml
    

    स्क्रीनप्ले संपादित करें। Xml (रूट के रूप में)। पहले तीन गैर-टिप्पणी लाइनों को बदलें:

    <style-scheme id="screenplay" _name="Screenplay" version="1.0">
      <author>YAS</author>
      <_description>Screenplay color scheme</_description>
    

    फिर रंगों (और शायद अन्य शैलियों को भी, उदाहरण के लिए bold="true") को समायोजित करें : टिप्पणी, डीफ़: स्थिर, डीफ़: पहचानकर्ता, और डीफ़ - स्टेटमेंट स्टाइल। फिर से gedit को पुनरारंभ करें, और अपने नए रंगों को देखने के लिए gedit की रंग योजना को स्क्रीनप्ले में बदलें। ध्यान दें कि हालांकि यह एक वैश्विक परिवर्तन है; आप अन्य फ़ाइलों को संपादित करने के लिए अपनी नियमित रंग योजना में वापस बदलना चाह सकते हैं।

ध्यान दें कि किसी भी समय आप screenplay.lang या screenplay.xml फ़ाइलों को बदलते हैं, आपको परिणाम देखने के लिए gedit को पुनरारंभ करना होगा।


यह किया! बहुत बढ़िया!
YAS

धन्यवाद, मेरे पास एक समान उपयोग का मामला था, समान रंग के साथ संबंधित लेकिन शारीरिक रूप से विषम लाइनों को उजागर करना और इससे बहुत मदद मिली।
Eloff
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.