pulsar/packages/language-clojure/grammars/tree-sitter-clojure.cson
2024-04-30 15:35:52 -03:00

52 lines
1.0 KiB
Plaintext

name: 'Clojure'
scopeName: 'source.clojure'
type: 'modern-tree-sitter'
injectionRegExp: '^source-clojure$'
parser: 'tree-sitter-clojure'
'fileTypes': [
'boot'
'clj'
'clje'
'cljr'
'clj.hl'
'cljc'
'cljs'
'cljs.hl'
'cljx'
'clojure'
'edn'
'bb'
'joke'
'joker'
'jank'
]
'firstLineMatch': '''(?x)
# Hashbang
^\\#!.*(?:\\s|\\/)
boot
(?:$|\\s)
|
# Modeline
(?i:
# Emacs
-\\*-(?:\\s*(?=[^:;\\s]+\\s*-\\*-)|(?:.*?[;\\s]|(?<=-\\*-))mode\\s*:\\s*)
clojure(script)?
(?=[\\s;]|(?<![-*])-\\*-).*?-\\*-
|
# Vim
(?:(?:\\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*=
clojure
(?=\\s|:|$)
)
'''
treeSitter:
parserSource: 'github:mauricioszabo/tree-sitter-clojure#inner-strings'
grammar: 'ts/grammar.wasm'
highlightsQuery: [
'ts/highlights.scm'
'ts/edn-highlights.scm'
]
foldsQuery: 'ts/folds.scm'
tagsQuery: 'ts/tags.scm'