8

我想走得更远,设计更多的东西。例如,我想设置以下样式:

setting1 = 4
setting2 = 192.168.1.12
etc...

我想把所有的东西都设置在=蓝色的左边,把所有的东西都设置在紫色的右边。

问题是 atom 正则表达式引擎不支持负前瞻或正前瞻。结果,我尝试使用beginandend指令,但这仍然不起作用。换句话说,我尝试过:

{
  # 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
},

所以基本上,我需要它看起来像这样:

在此处输入图像描述

有任何想法吗?

4

1 回答 1

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'
  }

]

您可以为每个捕获设置不同的样式。

于 2016-08-19T04:36:05.467 回答