2016-04-08 61 views

回答

0

通過specs我注意到,凌不實際支持基於內容語法選擇尋找:

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文件中的等價評論。

相關閱讀:

+0

在這種情況下,如果沒有閱讀鏈接,可以匹配的正則表達式可以比第一線其他內容規定? –

+0

似乎沒有任何固有的支持這樣做,但是你可能能夠創建一個正則表達式匹配大量的新行字符來查找firstLine + 1或更多的新行+你正在尋找的字符串 - 這就是可能還有其他一些問題。 –

+0

這正是St3中可以實現的一個或多個正則表達式。如果一個或多個匹配(取決於配置),那麼語法適用。令人驚歎的。 –