2

我读过很多关于这个问题的帖子,但没有一个回答我的问题。

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

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

我试过包“applySyntax”,但它似乎不适用于这个配置:

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

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

谢谢!

4

1 回答 1

1

我找到了一个带有插件的 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

您可以转到 Preferences->Browse Packages,并将其保存在以 结尾的位置.py,我建议为它创建一个目录(例如DetectFileType/detect_file_type.py)。

于 2013-05-14T19:03:06.340 回答