neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

swig.vim (4515B)


      1 " Vim syntax file
      2 " Language:	SWIG
      3 " Maintainer:	Julien Marrec <julien.marrec 'at' gmail com>
      4 " Last Change:	2023 November 23
      5 
      6 if exists("b:current_syntax")
      7  finish
      8 endif
      9 
     10 " Read the C++ syntax to start with
     11 runtime! syntax/cpp.vim
     12 unlet b:current_syntax
     13 
     14 " SWIG extentions
     15 syn keyword swigInclude %include %import %importfile %includefile %module
     16 
     17 syn keyword swigMostCommonDirective %alias %apply %beginfile %clear %constant %define %echo %enddef %endoffile
     18 syn keyword swigMostCommonDirective %extend %feature %director %fragment %ignore  %inline
     19 syn keyword swigMostCommonDirective %keyword %name %namewarn %native %newobject %parms %pragma
     20 syn keyword swigMostCommonDirective %rename %template %typedef %typemap %types %varargs
     21 
     22 " SWIG: Language specific macros
     23 syn keyword swigOtherLanguageSpecific %luacode %go_import
     24 
     25 syn keyword swigCSharp %csattributes %csconst %csconstvalue %csmethodmodifiers %csnothrowexception
     26 syn keyword swigCSharp %dconstvalue %dmanifestconst %dmethodmodifiers
     27 
     28 syn keyword swigJava %javaconstvalue %javaexception %javamethodmodifiers %javaconst %nojavaexception
     29 
     30 syn keyword swigGuile %multiple_values %values_as_list %values_as_vector
     31 
     32 syn keyword swigPHP %rinit %rshutdown %minit %mshutdown
     33 
     34 syn keyword swigPython %pybinoperator %pybuffer_binary %pybuffer_mutable_binary %pybuffer_mutable_string %pybuffer_string
     35 syn keyword swigPython %pythonappend %pythonbegin %pythoncode %pythondynamic %pythonnondynamic %pythonprepend
     36 
     37 syn keyword swigRuby %markfunc %trackobjects %bang
     38 syn keyword swigScilab %scilabconst
     39 
     40 " SWIG: Insertion
     41 syn keyword swigInsertSection %insert %begin %runtime %header %wrapper %init
     42 
     43 " SWIG: Other directives
     44 syn keyword swigCstring %cstring_bounded_mutable %cstring_bounded_output %cstring_chunk_output %cstring_input_binary %cstring_mutable
     45 syn keyword swigCstring %cstring_output_allocate %cstring_output_allocate_size %cstring_output_maxsize %cstring_output_withsize
     46 syn keyword swigCWstring %cwstring_bounded_mutable %cwstring_bounded_output %cwstring_chunk_output %cwstring_input_binary %cwstring_mutable
     47 syn keyword swigCWstring %cwstring_output_allocate %cwstring_output_allocate_size %cwstring_output_maxsize %cwstring_output_withsize
     48 syn keyword swigCMalloc %malloc %calloc %realloc %free %sizeof %allocators
     49 
     50 syn keyword swigExceptionHandling %catches %raise %allowexception %exceptionclass %warn %warnfilter %exception
     51 syn keyword swigContract %contract %aggregate_check
     52 
     53 syn keyword swigDirective %addmethods %array_class %array_functions %attribute %attribute2 %attribute2ref
     54 syn keyword swigDirective %attribute_ref %attributeref %attributestring %attributeval %auto_ptr %callback
     55 syn keyword swigDirective %delete_array %delobject %extend_smart_pointer %factory %fastdispatch %freefunc %immutable
     56 syn keyword swigDirective %implicit %implicitconv %interface %interface_custom %interface_impl %intrusive_ptr %intrusive_ptr_no_wrap
     57 syn keyword swigDirective %mutable %naturalvar %nocallback %nocopyctor %nodefaultctor %nodefaultdtor %nonaturalvar %nonspace
     58 syn keyword swigDirective %nspace %pointer_cast %pointer_class %pointer_functions %predicate %proxycode
     59 syn keyword swigDirective %refobject %set_output %shared_ptr %std_comp_methods
     60 syn keyword swigDirective %std_nodefconst_type %typecheck %typemaps_string %unique_ptr %unrefobject %valuewrapper
     61 
     62 syn match swigVerbatimStartEnd "%[{}]"
     63 
     64 syn match swigUserDef "%\w\+"
     65 syn match swigVerbatimMacro "^\s*%#\w\+\%( .*\)\?$"
     66 
     67 " SWIG: typemap var and typemap macros (eg: $1, $*1_type, $&n_ltype, $self)
     68 syn match swigTypeMapVars "\$[*&_a-zA-Z0-9]\+"
     69 
     70 " Default highlighting
     71 hi def link swigInclude Include
     72 hi def link swigMostCommonDirective Structure
     73 hi def link swigDirective Macro
     74 hi def link swigContract swigExceptionHandling
     75 hi def link swigExceptionHandling Exception
     76 hi def link swigUserDef Function
     77 
     78 hi def link swigCMalloc Statement
     79 hi def link swigCstring Type
     80 hi def link swigCWstring Type
     81 
     82 hi def link swigCSharp swigOtherLanguageSpecific
     83 hi def link swigJava swigOtherLanguageSpecific
     84 hi def link swigGuile swigOtherLanguageSpecific
     85 hi def link swigPHP swigOtherLanguageSpecific
     86 hi def link swigPython swigOtherLanguageSpecific
     87 hi def link swigRuby swigOtherLanguageSpecific
     88 hi def link swigScilab swigOtherLanguageSpecific
     89 hi def link swigOtherLanguageSpecific Special
     90 
     91 hi def link swigInsertSection PreProc
     92 
     93 hi def link swigVerbatimStartEnd Statement
     94 hi def link swigVerbatimMacro Macro
     95 
     96 hi def link swigTypeMapVars SpecialChar
     97 
     98 let b:current_syntax = "swig"
     99 " vim: ts=8