Skip to content

Commit 0da3522

Browse files
committed
Add recognition of hashbangs and modelines
1 parent 77da742 commit 0da3522

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

grammars/emacs-lisp.cson

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,25 @@ fileTypes: [
1313
"gnus"
1414
"viper"
1515
]
16+
firstLineMatch: """(?x)
17+
# Hashbang
18+
^\\#!.*(?:\\s|\\/|(?<=!)\\b)
19+
emacs
20+
(?:$|\\s)
21+
|
22+
# Modeline
23+
(?i:
24+
# Emacs
25+
-\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)
26+
emacs-lisp
27+
(?=[\\s;]|(?<![-*])-\\*-).*?-\\*-
28+
|
29+
# Vim
30+
(?:(?:\\s|^)vi(?:m[<=>]?\\d+|m)?|\\sex)(?=:(?=\\s*set?\\s[^\\n:]+:)|:(?!\\s*set?\\s))(?:(?:\\s|\\s*:\\s*)\\w*(?:\\s*=(?:[^\\n\\\\\\s]|\\\\.)*)?)*[\\s:](?:filetype|ft|syntax)\\s*=
31+
(?:emacs-lisp|elisp)
32+
(?=\\s|:|$)
33+
)
34+
"""
1635
patterns: [include: "#main"]
1736

1837

0 commit comments

Comments
 (0)