python – Sublime Text 3: detecta la sintaxis según el encabezado del archivo

Pregunta:

¿Cómo puedo conseguir que Sublime Text 3 reconozca el tipo de archivo (es decir, establecer la sintaxis y el sistema de compilación) según el encabezado de un archivo?

Por ejemplo: si la primera línea de un archivo fuera <!DOCTYPE html> , se reconocería como un archivo HTML o si la primera línea de un archivo fuera #!/usr/bin/env python3 , sabría que es un Python 3 archivo.

Sé que normalmente las extensiones de archivo dictarían esto, pero estoy usando Linux y muchos de estos archivos no tienen extensiones porque son comandos.

Respuesta:

Las definiciones de sintaxis tienen una regla first_line_match , por ejemplo:

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

 first_line_match: (?i)<(!DOCTYPE\s*)?html

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

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

SHELL: 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[^*]*-\*-'

Consulte la documentación de definiciones de sintaxis para obtener más detalles.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım