Sublime Text 3 - 基于文件头检测语法

Dan*_*lTA 8 python file-types syntax-highlighting sublime-text-3 sublime-text

我如何让 Sublime Text 3 基于文件头识别文件类型(即设置语法和构建系统)?

例如:如果文件的第一行是<!DOCTYPE html>,它将被识别为 HTML 文件,或者如果文件中的第一行是 ,#!/usr/bin/env python3它就会知道它是 Python 3 文件。

我知道通常文件扩展名会决定这一点,但我使用的是 Linux,其中很多文件没有扩展名,因为它们是命令。

Ger*_*che 2

语法定义有一个first_line_match规则,例如:

HTML:https://github.com/sublimehq/Packages/blob/master/HTML/HTML.sublime-syntax#L12

 first_line_match: (?i)<(!DOCTYPE\s*)?html
Run Code Online (Sandbox Code Playgroud)

PHP:https ://github.com/sublimehq/Packages/blob/master/PHP/PHP.sublime-syntax#L13

first_line_match: '^(#!.*[^-]php[0-9]?|<\?php)\b'
Run Code Online (Sandbox Code Playgroud)

外壳: https: //github.com/sublimehq/Packages/blob/master/ShellScript/Shell-Unix-Generic.sublime-syntax#L18

first_line_match: '^#!.*\b(bash|zsh|sh|tcsh)|^#\s*-\*-[^*]*mode:\s*shell-script[^*]*-\*-'
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅语法定义文档。