繁体   English   中英

如何在Sublime Text 2上没有扩展名的文件上定义默认语法?

[英]How to define default syntax on files without extension on Sublime Text 2?

我已经阅读了许多有关此问题的文章,但没有一个回答我的问题。

如标题中所述,我想为所有没有扩展名的文件定义默认语法。 就我而言,我想使用Shell语法。

我已经尝试过“使用当前扩展名作为...查看/语法/全部打开...”,但是对于所有文件,我必须再次进行操作。

我已经尝试了“ applySyntax”包,但似乎不适用于此配置:

{
    "name": "ShellScript/Shell-Unix-Generic",
    "rules": [
        {"file_name": "PRE_*$"}
    ]
}

我所有的文件都以“ PRE_ [something]”开头,有人知道如何解决此问题?

谢谢!

我找到了一个带有插件的Gist ,可以根据文件名设置语法,我对其进行了一些修改以匹配以PRE_开头的文件:

import sublime_plugin
import os

class DetectFileTypeCommand(sublime_plugin.EventListener):
  def on_load(self, view):
    filename = view.file_name()
    if not filename: # buffer has never been saved
      return

    name = os.path.basename(filename)
    if name.startswith("PRE_"):
      set_syntax(view, "Shell-Unix-Generic", "ShellScript")


def set_syntax(view, syntax, path=None):
  if path is None:
    path = syntax
  view.settings().set('syntax', 'Packages/'+ path + '/' + syntax + '.tmLanguage')
  print "Switched syntax to: " + syntax

您可以转到“首选项”->“浏览软件包”,并将其保存在以.py结尾的位置,我建议为其创建一个目录(例如, DetectFileType/detect_file_type.py )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM