mirror of
				https://github.com/vim/vim.git
				synced 2025-10-31 09:57:14 -04:00 
			
		
		
		
	
		
			
	
	
		
			100 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
		
		
			
		
	
	
			100 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
|   | " Vim syntax file | ||
|  | " Language:	SWIG | ||
|  | " Maintainer:	Julien Marrec <julien.marrec 'at' gmail com> | ||
|  | " Last Change:	2023 November 23 | ||
|  | 
 | ||
|  | if exists("b:current_syntax") | ||
|  |   finish | ||
|  | endif | ||
|  | 
 | ||
|  | " Read the C++ syntax to start with | ||
|  | runtime! syntax/cpp.vim | ||
|  | unlet b:current_syntax | ||
|  | 
 | ||
|  | " SWIG extentions | ||
|  | syn keyword swigInclude %include %import %importfile %includefile %module | ||
|  | 
 | ||
|  | syn keyword swigMostCommonDirective %alias %apply %beginfile %clear %constant %define %echo %enddef %endoffile | ||
|  | syn keyword swigMostCommonDirective %extend %feature %director %fragment %ignore  %inline | ||
|  | syn keyword swigMostCommonDirective %keyword %name %namewarn %native %newobject %parms %pragma | ||
|  | syn keyword swigMostCommonDirective %rename %template %typedef %typemap %types %varargs | ||
|  | 
 | ||
|  | " SWIG: Language specific macros | ||
|  | syn keyword swigOtherLanguageSpecific %luacode %go_import | ||
|  | 
 | ||
|  | syn keyword swigCSharp %csattributes %csconst %csconstvalue %csmethodmodifiers %csnothrowexception | ||
|  | syn keyword swigCSharp %dconstvalue %dmanifestconst %dmethodmodifiers | ||
|  | 
 | ||
|  | syn keyword swigJava %javaconstvalue %javaexception %javamethodmodifiers %javaconst %nojavaexception | ||
|  | 
 | ||
|  | syn keyword swigGuile %multiple_values %values_as_list %values_as_vector | ||
|  | 
 | ||
|  | syn keyword swigPHP %rinit %rshutdown %minit %mshutdown | ||
|  | 
 | ||
|  | syn keyword swigPython %pybinoperator %pybuffer_binary %pybuffer_mutable_binary %pybuffer_mutable_string %pybuffer_string | ||
|  | syn keyword swigPython %pythonappend %pythonbegin %pythoncode %pythondynamic %pythonnondynamic %pythonprepend | ||
|  | 
 | ||
|  | syn keyword swigRuby %markfunc %trackobjects %bang | ||
|  | syn keyword swigScilab %scilabconst | ||
|  | 
 | ||
|  | " SWIG: Insertion | ||
|  | syn keyword swigInsertSection %insert %begin %runtime %header %wrapper %init | ||
|  | 
 | ||
|  | " SWIG: Other directives | ||
|  | syn keyword swigCstring %cstring_bounded_mutable %cstring_bounded_output %cstring_chunk_output %cstring_input_binary %cstring_mutable | ||
|  | syn keyword swigCstring %cstring_output_allocate %cstring_output_allocate_size %cstring_output_maxsize %cstring_output_withsize | ||
|  | syn keyword swigCWstring %cwstring_bounded_mutable %cwstring_bounded_output %cwstring_chunk_output %cwstring_input_binary %cwstring_mutable | ||
|  | syn keyword swigCWstring %cwstring_output_allocate %cwstring_output_allocate_size %cwstring_output_maxsize %cwstring_output_withsize | ||
|  | syn keyword swigCMalloc %malloc %calloc %realloc %free %sizeof %allocators | ||
|  | 
 | ||
|  | syn keyword swigExceptionHandling %catches %raise %allowexception %exceptionclass %warn %warnfilter %exception | ||
|  | syn keyword swigContract %contract %aggregate_check | ||
|  | 
 | ||
|  | syn keyword swigDirective %addmethods %array_class %array_functions %attribute %attribute2 %attribute2ref | ||
|  | syn keyword swigDirective %attribute_ref %attributeref %attributestring %attributeval %auto_ptr %callback | ||
|  | syn keyword swigDirective %delete_array %delobject %extend_smart_pointer %factory %fastdispatch %freefunc %immutable | ||
|  | syn keyword swigDirective %implicit %implicitconv %interface %interface_custom %interface_impl %intrusive_ptr %intrusive_ptr_no_wrap | ||
|  | syn keyword swigDirective %mutable %naturalvar %nocallback %nocopyctor %nodefaultctor %nodefaultdtor %nonaturalvar %nonspace | ||
|  | syn keyword swigDirective %nspace %pointer_cast %pointer_class %pointer_functions %predicate %proxycode | ||
|  | syn keyword swigDirective %refobject %set_output %shared_ptr %std_comp_methods | ||
|  | syn keyword swigDirective %std_nodefconst_type %typecheck %typemaps_string %unique_ptr %unrefobject %valuewrapper | ||
|  | 
 | ||
|  | syn match swigVerbatimStartEnd "%[{}]" | ||
|  | 
 | ||
|  | syn match swigUserDef "%\w\+" | ||
|  | syn match swigVerbatimMacro "^\s*%#\w\+\%( .*\)\?$" | ||
|  | 
 | ||
|  | " SWIG: typemap var and typemap macros (eg: $1, $*1_type, $&n_ltype, $self) | ||
|  | syn match swigTypeMapVars "\$[*&_a-zA-Z0-9]\+" | ||
|  | 
 | ||
|  | " Default highlighting | ||
|  | hi def link swigInclude Include | ||
|  | hi def link swigMostCommonDirective Structure | ||
|  | hi def link swigDirective Macro | ||
|  | hi def link swigContract swigExceptionHandling | ||
|  | hi def link swigExceptionHandling Exception | ||
|  | hi def link swigUserDef Function | ||
|  | 
 | ||
|  | hi def link swigCMalloc Statement | ||
|  | hi def link swigCstring Type | ||
|  | hi def link swigCWstring Type | ||
|  | 
 | ||
|  | hi def link swigCSharp swigOtherLanguageSpecific | ||
|  | hi def link swigJava swigOtherLanguageSpecific | ||
|  | hi def link swigGuile swigOtherLanguageSpecific | ||
|  | hi def link swigPHP swigOtherLanguageSpecific | ||
|  | hi def link swigPython swigOtherLanguageSpecific | ||
|  | hi def link swigRuby swigOtherLanguageSpecific | ||
|  | hi def link swigScilab swigOtherLanguageSpecific | ||
|  | hi def link swigOtherLanguageSpecific Special | ||
|  | 
 | ||
|  | hi def link swigInsertSection PreProc | ||
|  | 
 | ||
|  | hi def link swigVerbatimStartEnd Statement | ||
|  | hi def link swigVerbatimMacro Macro | ||
|  | 
 | ||
|  | hi def link swigTypeMapVars SpecialChar | ||
|  | 
 | ||
|  | let b:current_syntax = "swig" | ||
|  | " vim: ts=8 |