" Vim syntax file " Language: API Notation " Maintainer: Rubén Beltrán del Río " Latest Revision: 22 June 2015 if exists("b:current_syntax") finish endif syn match moduleName '^[a-zA-Z0-9_.]\+' syn match classMembers '^\s\+\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' nextgroup=memberName skipwhite syn match internalOperators '\(\(<+\)\|\(<\~\)\|\(<-\)\|\(+>\)\|\(\~>\)\|\(->\)\|-\|+\|\(::\)\|#\)' contained nextgroup=memberName skipwhite syn match returnIdentifiers '\(=>\)' nextgroup=returnValue syn match returnIdentifiers '\(->\)' syn match memberName '\w\+' contained nextgroup=internalOperators,spacedDataType syn region parameterList start="(" end=")" transparent contains=parameters,separators,optionalParameter,dataType syn region optionalParameter start="\[" end="]" contains=optionalParameters contained syn region dataType start="<" end=">" contains=dataTypes,separators contained syn region spacedDataType start='\s\+<' end=">" contains=dataTypes,separators contained syn match optionalParameters '\w\+' contained syn match parameters '\w\+' contained syn match dataTypes '\w\+' contained syn match separators '|\|,' contained syn match returnValue '.*' contained contains=dataType,parameters hi def link moduleName Identifier hi def link classMembers Operator hi def link returnIdentifiers Operator hi def link internalOperators Operator hi def link memberName Special hi def link parameters PreProc hi def link optionalParameters Underlined hi def link dataTypes Constant hi def link separators Comment