]> git.r.bdr.sh - rbdr/api-notation.vim/blame - syntax/api-notation.vim
Updates example image
[rbdr/api-notation.vim] / syntax / api-notation.vim
CommitLineData
ff11ecc1
BB
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
76926b3d 10syn match moduleName '^[a-zA-Z0-9_.]\+\s*' nextgroup=dataType
ff11ecc1 11
7bd6f066
BB
12syn match comment '\s*//\s*.*'
13
ff11ecc1
BB
14syn match classMembers '^\s\+\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' nextgroup=memberName skipwhite
15syn match internalOperators '\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' contained nextgroup=memberName skipwhite
16syn match returnIdentifiers '\(=>\)' nextgroup=returnValue
17syn match returnIdentifiers '\(->\)'
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
32
c810701f
BB
33" Nest JSON
34syn include @JSON syntax/json.vim
35edebac 35syn region jsonBlock start='```' end='```' contains=@JSON,comment,dataType
ff11ecc1
BB
36
37hi def link moduleName Identifier
38
39hi def link classMembers Operator
40hi def link returnIdentifiers Operator
41hi def link internalOperators Operator
42
43hi def link memberName Special
44
45hi def link parameters PreProc
46hi def link optionalParameters Underlined
47hi def link dataTypes Constant
48
49hi def link separators Comment
7bd6f066 50hi def link comment Comment
c810701f 51hi def link jsonBlock Comment