2016-08-19 4 views
8

मैं आगे जाना चाहता हूं और अधिक चीजों को स्टाइल करना चाहता हूं। उदाहरण के लिए मैं निम्नलिखित शैली पसंद करेंगे:एक एटम पैकेज में, मैं व्याकरण में पैटर्न कैसे ओवरलैप कर सकता हूं?

setting1 = 4 
setting2 = 192.168.1.12 
etc... 

मैं = सही बैंगनी, नीले और सब कुछ के बाईं ओर सब कुछ शैली पसंद आएगा।

समस्या यह है कि परमाणु रेगेक्स इंजन आगे नकारात्मक दिखने या सकारात्मक दिखने का समर्थन नहीं करता है। नतीजतन, मैंने begin और end निर्देशों का उपयोग करने का प्रयास किया है लेकिन यह अभी भी काम नहीं करता है। दूसरे शब्दों में मैं कोशिश की है:

{ 
    # section reference 
    'begin': '^\\s*.*?=' # match a line that contains an = sign 
    'end': '.+$' # continue until the end of the line 
    'match': '^\\s*[^=]*' #only match everything that is not an equal sign 
    'name': 'blue' #style it with the blue style 
}, 

तो मूल रूप से, मैं इसे की जरूरत है इस तरह देखने के लिए:

enter image description here

कोई भी विचार?

उत्तर

3

मैं इस समाधान के साथ आया था: (reules.cson)

'scopeName': 'source.conf' 
'name': 'CONF' 
'fileTypes': ['CONF'] 
'patterns': [  
    { 
    # equality 
    'match': '(?x)^([^=;]+) (=) (.+?)\\n' 
    'captures': 
     '1' : 
     'name' : 'blue' 
     '2' : 
     'name' : 'yellow' 
     '3' : 
     'name' : 'purple' 
    } 

] 

आप हर कब्जा अलग ढंग से शैली दे सकते हैं।

+0

एक fyi: यदि आप '([^ =;] +)' से मेल नहीं खाते हैं, तो एक आवश्यक मात्रा में पाठ, आप कभी भी '(=) (। +?) 'से मेल नहीं खा सकते हैं। और वीजा-विपरीत। कम से कम, आपको इसे '' (? X)^([^ =;] +) (=) (। *) \\ n? ''में बदलना चाहिए। – sln

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

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