1
在Sublime Text 3中有一個名爲ApplySyntax的程序包,可以根據文件內容設置語法高亮顯示。這在Atom中如何實現?如何根據文件內容設置Atom語法?
在Sublime Text 3中有一個名爲ApplySyntax的程序包,可以根據文件內容設置語法高亮顯示。這在Atom中如何實現?如何根據文件內容設置Atom語法?
通過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文件中的等價評論。
相關閱讀:
在這種情況下,如果沒有閱讀鏈接,可以匹配的正則表達式可以比第一線其他內容規定? –
似乎沒有任何固有的支持這樣做,但是你可能能夠創建一個正則表達式匹配大量的新行字符來查找firstLine + 1或更多的新行+你正在尋找的字符串 - 這就是可能還有其他一些問題。 –
這正是St3中可以實現的一個或多個正則表達式。如果一個或多個匹配(取決於配置),那麼語法適用。令人驚歎的。 –