-
Notifications
You must be signed in to change notification settings - Fork 0
/
clojure.vim
18 lines (15 loc) · 890 Bytes
/
clojure.vim
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
syntax match clojureFunction "\v%(\(\s*%(clojure.core\/)?%(defn|defn-|fn)\s*)@<=\h\k+" contained
syntax match clojureInlineFunction "\v\(@<=%([a-zA-Z!$&*_+=|<.>?-]|[^\x00-\x7F])+%(:?%([a-zA-Z0-9!#$%&*_+=|'<.>/?-]|[^\x00-\x7F]))*[#:]@1<!"
" syntax match clojureJavaClassNew "\v\(@<=%([a-zA-Z!$&*_+=|<.>?-]|[^\x00-\x7F])+%(:?%([a-zA-Z0-9!#$%&*_+=|'<.>/?-]|[^\x00-\x7F]))*[#:]@1<!\.%(\s|\))@="
" ( fn there)
" (clojure.core/fn there)
" (hello: 'there)
" (hello# 'there)
" (hello. 'there)
" (hello.)
" syntax cluster clojureTop remove=clojureDefine,clojureFunction,clojureSpecial
syntax cluster clojureTop add=clojureInlineFunction,clojureJavaClassNew,clojureDefine,clojureFunction,clojureSpecial
highlight link clojureFunction Function
highlight link clojureInlineFunction Function
" highlight link clojureJavaClassNew StorageClass
highlight link clojureFunc StorageClass