]> git.r.bdr.sh - rbdr/api-notation.vim/blame_incremental - syntax/api-notation.vim
Bold warning
[rbdr/api-notation.vim] / syntax / api-notation.vim
... / ...
CommitLineData
1" Vim syntax file
2" Language: API Notation
3" Maintainer: Rubén Beltrán del Río
4" Latest Revision: 22 June 2015
5
6if exists("b:current_syntax")
7 finish
8endif
9
10syn match moduleName '^[a-zA-Z0-9_.]\+\s*' nextgroup=dataType
11
12syn match comment '\s*//\s*.*'
13
14syn match classMembers '^\s\+\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' nextgroup=memberName skipwhite
15syn match internalOperators '\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' contained nextgroup=memberName skipwhite
16syn match returnIdentifiers '\(=>\)' nextgroup=returnValue
17syn match throwIdentifiers '\(#>\)' nextgroup=throwValue
18
19syn match memberName '\w\+' contained nextgroup=internalOperators,spacedDataType
20
21syn region parameterList start="(" end=")" transparent contains=parameters,separators,optionalParameter,dataType
22syn region optionalParameter start="\[" end="]" contains=optionalParameters contained
23syn region dataType start="<" end=">" contains=dataTypes,separators contained
24syn region spacedDataType start='\s\+<' end=">" contains=dataTypes,separators contained
25
26syn match optionalParameters '\w\+' contained
27syn match parameters '\w\+' contained
28syn match dataTypes '\w\+' contained
29syn match separators '|\|,' contained
30
31syn match returnValue '.*' contained contains=dataType,parameters
32syn match throwValue '.*' contained contains=dataType,parameters
33
34" Nest JSON
35syn include @JSON syntax/json.vim
36syn region jsonBlock start='```' end='```' contains=@JSON,comment,dataType
37
38hi def link moduleName Identifier
39
40hi def link classMembers Operator
41hi def link returnIdentifiers Operator
42hi def link throwIdentifiers Operator
43hi def link internalOperators Operator
44
45hi def link memberName Special
46
47hi def link parameters PreProc
48hi def link optionalParameters Underlined
49hi def link dataTypes Constant
50
51hi def link separators Comment
52hi def link comment Comment
53hi def link jsonBlock Comment