【问题标题】:Sublime Text 3 set syntax highlight by regex of filenameSublime Text 3 通过文件名的正则表达式设置语法高亮
【发布时间】:2016-12-17 02:57:07
【问题描述】:

我希望文件名以 view_ 开头并以 _js.php 结尾的文件具有 Javascript 突出显示。基本上如果有正则表达式view_*_js.php.
我已经知道我可以转到“首选项 > 设置 - 更多 > 特定语法 - 用户”我可以在 JSON 中编辑我想要的扩展名,但我希望它是文件名的正则表达式。
有谁知道我该怎么做?

【问题讨论】:

    标签: sublimetext3 syntax-highlighting sublimetext


    【解决方案1】:

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

    下面是一个简单的 Sublime text 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")
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-03
        • 1970-01-01
        • 1970-01-01
        • 2016-09-18
        • 2018-02-23
        • 2013-12-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多