如何根据文件内容设置Atom语法?

时间:2016-04-08 17:51:48

标签: grammar atom-editor

在Sublime Text 3中有一个名为ApplySyntax的包,它允许根据文件内容设置语法突出显示。怎么能在Atom中实现呢?

1 个答案:

答案 0 :(得分:0)

查看specs我注意到Atom确实支持基于内容的语法选择:

it "uses the filePath's shebang line if the grammar cannot be determined by the extension or basename", -> 
  filePath = require.resolve("./fixtures/shebang") 
  expect(atom.grammars.selectGrammar(filePath).name).toBe "Ruby" 

Atom的工作方式是根据文件路径和文件的内容计算语法分数

更具体地说,就内容而言,每个语法都包含一个firstLineMatch,它是一个正则表达式,用于查看第一行或几行,这些行有助于确定文件是否确实属于该语法,如果是Ruby这是:

'firstLineMatch': '^#!\\s*/.*\\bruby|^#\\s+-\\*-\\s*ruby\\s*-\\*-'

这会查找shebang或某些Ruby文件中的等效注释。

相关阅读: