Mercurial > vim
view runtime/syntax/swig.vim @ 33825:d515e012d713 v9.0.2128
patch 9.0.2128: runtime(swig): add syntax and filetype plugins
Commit: https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6
Author: Julien Marrec <julien.marrec@gmail.com>
Date: Sat Nov 25 15:30:46 2023 +0100
patch 9.0.2128: runtime(swig): add syntax and filetype plugins
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface
Generator) description files.
The default syntax for .i files highlights comments in a reverse
color scheme which doesn't look well. This syntax builds
on vim's c++ syntax by adding highlighting for common swig
directives and user defined directives. For an alternative
syntax, see vimscript #1247 (which I found after writing this).
closes: #13562
Co-authored-by: Mat?j Cepl <mcepl@cepl.eu>
Co-authored-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Julien Marrec <julien.marrec@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 25 Nov 2023 15:45:06 +0100 |
parents | |
children |
line wrap: on
line source
" 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