Sublime Text 3通过文件名的正则表达式设置语法高亮

3
我希望我的文件名以view_开头并以_js.php结尾的文件可以使用JavaScript语法高亮。基本上,如果它符合正则表达式view_*_js.php
我已经知道我可以进入“首选项>设置-更多>语法特定-用户”,我可以编辑并在JSON中放入我想要的扩展名,但我希望它是通过文件名的正则表达式来实现的。
有人知道我该怎么做吗?
2个回答

3
你正在寻找的软件包是ApplySyntax,这是另一个由facelessuser开发的优秀插件。它不仅应用了更复杂的正则表达式规则来分析文件名本身,还解析文件本身(通常只解析前几行)以查找线索,在多种类型的文件具有相同扩展名的情况下,例如Ruby on Rails项目中的所有各种.rb文件。它还可以完全自定义,因此您可以设计自己的文件名和文件内容规则。

0

由于Sublime想要使用文件扩展名来默认选择语法,我相信这样的需求需要一个插件来交换语法。可能在PackageControl上有类似的东西,尽管我的快速搜索没有找到任何看起来匹配的内容。

下面是一个简单的Sublime文本3插件示例,它将使用on_load事件根据需要交换语法。您可以将其保存在您的Packages/User文件夹中,例如apply_syntax.py或类似的名称。

import sublime, sublime_plugin,os,re

class ApplyJSSyntax (sublime_plugin.EventListener):
    def __init__ (self):
        self.file_pattern = re.compile ("^view_.*_js.php$")

    def on_load (self, view):
        if self.file_pattern.match (os.path.basename (view.file_name ())):
            view.set_syntax_file ("Packages/JavaScript/JavaScript.sublime-syntax")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接