mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
  Amiga icons (*.info, icons/)
  doc/hangulin.txt
  tutor/
  spell/
  lang/ (only used for menu translations)
  macros/maze/, macros/hanoi/, macros/life/, macros/urm/
      These were used to test vi compatibility.
  termcap
      "Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
		
	
		
			
				
	
	
		
			261 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:	splint (C with lclint/splint Annotations)
 | 
						|
" Maintainer:	Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
 | 
						|
" Splint Home:	http://www.splint.org/
 | 
						|
" Last Change:	$Date: 2004/06/13 20:08:47 $
 | 
						|
" $Revision: 1.1 $
 | 
						|
 | 
						|
" Note:		Splint annotated files are not detected by default.
 | 
						|
"		If you want to use this file for highlighting C code,
 | 
						|
"		please make sure splint.vim is sourced instead of c.vim,
 | 
						|
"		for example by putting
 | 
						|
"			/* vim: set filetype=splint : */
 | 
						|
"		at the end of your code or something like
 | 
						|
"			au! BufRead,BufNewFile *.c	setfiletype splint
 | 
						|
"		in your vimrc file or filetype.vim
 | 
						|
 | 
						|
 | 
						|
" For version 5.x: Clear all syntax items
 | 
						|
" For version 6.x: Quit when a syntax file was already loaded
 | 
						|
if version < 600
 | 
						|
  syntax clear
 | 
						|
elseif exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
" Read the C syntax to start with
 | 
						|
if version < 600
 | 
						|
  so <sfile>:p:h/c.vim
 | 
						|
else
 | 
						|
  runtime! syntax/c.vim
 | 
						|
endif
 | 
						|
 | 
						|
 | 
						|
" FIXME: uses and changes several clusters defined in c.vim
 | 
						|
"	so watch for changes there
 | 
						|
 | 
						|
" TODO: make a little more grammar explicit
 | 
						|
"	match flags with hyphen and underscore notation
 | 
						|
"	match flag expanded forms
 | 
						|
"	accept other comment char than @
 | 
						|
 | 
						|
syn case match
 | 
						|
" splint annotations (taken from 'splint -help annotations')
 | 
						|
syn match   splintStateAnnot	contained "\(pre\|post\):\(only\|shared\|owned\|dependent\|observer\|exposed\|isnull\|notnull\)"
 | 
						|
syn keyword splintSpecialAnnot  contained special
 | 
						|
syn keyword splintSpecTag	contained uses sets defines allocated releases
 | 
						|
syn keyword splintModifies	contained modifies
 | 
						|
syn keyword splintRequires	contained requires ensures
 | 
						|
syn keyword splintGlobals	contained globals
 | 
						|
syn keyword splintGlobitem	contained internalState fileSystem
 | 
						|
syn keyword splintGlobannot	contained undef killed
 | 
						|
syn keyword splintWarning	contained warn
 | 
						|
 | 
						|
syn keyword splintModitem	contained internalState fileSystem nothing
 | 
						|
syn keyword splintReqitem	contained MaxSet MaxRead result
 | 
						|
syn keyword splintIter		contained iter yield
 | 
						|
syn keyword splintConst		contained constant
 | 
						|
syn keyword splintAlt		contained alt
 | 
						|
 | 
						|
syn keyword splintType		contained abstract concrete mutable immutable refcounted numabstract
 | 
						|
syn keyword splintGlobalType	contained unchecked checkmod checked checkedstrict
 | 
						|
syn keyword splintMemMgm	contained dependent keep killref only owned shared temp
 | 
						|
syn keyword splintAlias		contained unique returned
 | 
						|
syn keyword splintExposure	contained observer exposed
 | 
						|
syn keyword splintDefState	contained out in partial reldef
 | 
						|
syn keyword splintGlobState	contained undef killed
 | 
						|
syn keyword splintNullState	contained null notnull relnull
 | 
						|
syn keyword splintNullPred	contained truenull falsenull nullwhentrue falsewhennull
 | 
						|
syn keyword splintExit		contained exits mayexit trueexit falseexit neverexit
 | 
						|
syn keyword splintExec		contained noreturn maynotreturn noreturnwhentrue noreturnwhenfalse alwaysreturns
 | 
						|
syn keyword splintSef		contained sef
 | 
						|
syn keyword splintDecl		contained unused external
 | 
						|
syn keyword splintCase		contained fallthrough
 | 
						|
syn keyword splintBreak		contained innerbreak loopbreak switchbreak innercontinue
 | 
						|
syn keyword splintUnreach	contained notreached
 | 
						|
syn keyword splintSpecFunc	contained printflike scanflike messagelike
 | 
						|
 | 
						|
" TODO: make these region or match
 | 
						|
syn keyword splintErrSupp	contained i ignore end t
 | 
						|
syn match   splintErrSupp	contained "[it]\d\+\>"
 | 
						|
syn keyword splintTypeAcc	contained access noaccess
 | 
						|
 | 
						|
syn keyword splintMacro		contained notfunction
 | 
						|
syn match   splintSpecType	contained "\(\|unsigned\|signed\)integraltype"
 | 
						|
 | 
						|
" Flags taken from 'splint -help flags full' divided in local and global flags
 | 
						|
"				 Local Flags:
 | 
						|
syn keyword splintFlag contained abstract abstractcompare accessall accessczech accessczechoslovak
 | 
						|
syn keyword splintFlag contained accessfile accessmodule accessslovak aliasunique allblock
 | 
						|
syn keyword splintFlag contained allempty allglobs allimponly allmacros alwaysexits
 | 
						|
syn keyword splintFlag contained annotationerror ansi89limits assignexpose badflag bitwisesigned
 | 
						|
syn keyword splintFlag contained boolcompare boolfalse boolint boolops booltrue
 | 
						|
syn keyword splintFlag contained booltype bounds boundscompacterrormessages boundsread boundswrite
 | 
						|
syn keyword splintFlag contained branchstate bufferoverflow bufferoverflowhigh bugslimit casebreak
 | 
						|
syn keyword splintFlag contained caseinsensitivefilenames castexpose castfcnptr charindex charint
 | 
						|
syn keyword splintFlag contained charintliteral charunsignedchar checkedglobalias checkmodglobalias checkpost
 | 
						|
syn keyword splintFlag contained checkstrictglobalias checkstrictglobs codeimponly commentchar commenterror
 | 
						|
syn keyword splintFlag contained compdef compdestroy compmempass constmacros constprefix
 | 
						|
syn keyword splintFlag contained constprefixexclude constuse continuecomment controlnestdepth cppnames
 | 
						|
syn keyword splintFlag contained csvoverwrite czech czechconsts czechfcns czechmacros
 | 
						|
syn keyword splintFlag contained czechoslovak czechoslovakconsts czechoslovakfcns czechoslovakmacros czechoslovaktypes
 | 
						|
syn keyword splintFlag contained czechoslovakvars czechtypes czechvars debugfcnconstraint declundef
 | 
						|
syn keyword splintFlag contained deepbreak deparrays dependenttrans distinctexternalnames distinctinternalnames
 | 
						|
syn keyword splintFlag contained duplicatecases duplicatequals elseifcomplete emptyret enumindex
 | 
						|
syn keyword splintFlag contained enumint enummembers enummemuse enumprefix enumprefixexclude
 | 
						|
syn keyword splintFlag contained evalorder evalorderuncon exitarg exportany exportconst
 | 
						|
syn keyword splintFlag contained exportfcn exportheader exportheadervar exportiter exportlocal
 | 
						|
syn keyword splintFlag contained exportmacro exporttype exportvar exposetrans externalnamecaseinsensitive
 | 
						|
syn keyword splintFlag contained externalnamelen externalprefix externalprefixexclude fcnderef fcnmacros
 | 
						|
syn keyword splintFlag contained fcnpost fcnuse fielduse fileextensions filestaticprefix
 | 
						|
syn keyword splintFlag contained filestaticprefixexclude firstcase fixedformalarray floatdouble forblock
 | 
						|
syn keyword splintFlag contained forcehints forempty forloopexec formalarray formatcode
 | 
						|
syn keyword splintFlag contained formatconst formattype forwarddecl freshtrans fullinitblock
 | 
						|
syn keyword splintFlag contained globalias globalprefix globalprefixexclude globimponly globnoglobs
 | 
						|
syn keyword splintFlag contained globs globsimpmodsnothing globstate globuse gnuextensions
 | 
						|
syn keyword splintFlag contained grammar hasyield hints htmlfileformat ifblock
 | 
						|
syn keyword splintFlag contained ifempty ignorequals ignoresigns immediatetrans impabstract
 | 
						|
syn keyword splintFlag contained impcheckedglobs impcheckedspecglobs impcheckedstatics impcheckedstrictglobs impcheckedstrictspecglobs
 | 
						|
syn keyword splintFlag contained impcheckedstrictstatics impcheckmodglobs impcheckmodinternals impcheckmodspecglobs impcheckmodstatics
 | 
						|
syn keyword splintFlag contained impconj implementationoptional implictconstraint impouts imptype
 | 
						|
syn keyword splintFlag contained includenest incompletetype incondefs incondefslib indentspaces
 | 
						|
syn keyword splintFlag contained infloops infloopsuncon initallelements initsize internalglobs
 | 
						|
syn keyword splintFlag contained internalglobsnoglobs internalnamecaseinsensitive internalnamelen internalnamelookalike iso99limits
 | 
						|
syn keyword splintFlag contained isoreserved isoreservedinternal iterbalance iterloopexec iterprefix
 | 
						|
syn keyword splintFlag contained iterprefixexclude iteryield its4low its4moderate its4mostrisky
 | 
						|
syn keyword splintFlag contained its4risky its4veryrisky keep keeptrans kepttrans
 | 
						|
syn keyword splintFlag contained legacy libmacros likelyboundsread likelyboundswrite likelybool
 | 
						|
syn keyword splintFlag contained likelybounds limit linelen lintcomments localprefix
 | 
						|
syn keyword splintFlag contained localprefixexclude locindentspaces longint longintegral longsignedintegral
 | 
						|
syn keyword splintFlag contained longunsignedintegral longunsignedunsignedintegral loopexec looploopbreak looploopcontinue
 | 
						|
syn keyword splintFlag contained loopswitchbreak macroassign macroconstdecl macrodecl macroempty
 | 
						|
syn keyword splintFlag contained macrofcndecl macromatchname macroparams macroparens macroredef
 | 
						|
syn keyword splintFlag contained macroreturn macrostmt macrounrecog macrovarprefix macrovarprefixexclude
 | 
						|
syn keyword splintFlag contained maintype matchanyintegral matchfields mayaliasunique memchecks
 | 
						|
syn keyword splintFlag contained memimp memtrans misplacedsharequal misscase modfilesys
 | 
						|
syn keyword splintFlag contained modglobs modglobsnomods modglobsunchecked modinternalstrict modnomods
 | 
						|
syn keyword splintFlag contained modobserver modobserveruncon mods modsimpnoglobs modstrictglobsnomods
 | 
						|
syn keyword splintFlag contained moduncon modunconnomods modunspec multithreaded mustdefine
 | 
						|
syn keyword splintFlag contained mustfree mustfreefresh mustfreeonly mustmod mustnotalias
 | 
						|
syn keyword splintFlag contained mutrep namechecks needspec nestcomment nestedextern
 | 
						|
syn keyword splintFlag contained newdecl newreftrans nextlinemacros noaccess nocomments
 | 
						|
syn keyword splintFlag contained noeffect noeffectuncon noparams nopp noret
 | 
						|
syn keyword splintFlag contained null nullassign nullderef nullinit nullpass
 | 
						|
syn keyword splintFlag contained nullptrarith nullret nullstate nullterminated
 | 
						|
syn keyword splintFlag contained numabstract numabstractcast numabstractindex numabstractlit numabstractprint
 | 
						|
syn keyword splintFlag contained numenummembers numliteral numstructfields observertrans obviousloopexec
 | 
						|
syn keyword splintFlag contained oldstyle onlytrans onlyunqglobaltrans orconstraint overload
 | 
						|
syn keyword splintFlag contained ownedtrans paramimptemp paramuse parenfileformat partial
 | 
						|
syn keyword splintFlag contained passunknown portability predassign predbool predboolint
 | 
						|
syn keyword splintFlag contained predboolothers predboolptr preproc protoparammatch protoparamname
 | 
						|
syn keyword splintFlag contained protoparamprefix protoparamprefixexclude ptrarith ptrcompare ptrnegate
 | 
						|
syn keyword splintFlag contained quiet readonlystrings readonlytrans realcompare redecl
 | 
						|
syn keyword splintFlag contained redef redundantconstraints redundantsharequal refcounttrans relaxquals
 | 
						|
syn keyword splintFlag contained relaxtypes repeatunrecog repexpose retalias retexpose
 | 
						|
syn keyword splintFlag contained retimponly retval retvalbool retvalint retvalother
 | 
						|
syn keyword splintFlag contained sefparams sefuncon shadow sharedtrans shiftimplementation
 | 
						|
syn keyword splintFlag contained shiftnegative shortint showallconjs showcolumn showconstraintlocation
 | 
						|
syn keyword splintFlag contained showconstraintparens showdeephistory showfunc showloadloc showscan
 | 
						|
syn keyword splintFlag contained showsourceloc showsummary sizeofformalarray sizeoftype skipisoheaders
 | 
						|
syn keyword splintFlag contained skipposixheaders slashslashcomment slovak slovakconsts slovakfcns
 | 
						|
syn keyword splintFlag contained slovakmacros slovaktypes slovakvars specglobimponly specimponly
 | 
						|
syn keyword splintFlag contained specmacros specretimponly specstructimponly specundecl specundef
 | 
						|
syn keyword splintFlag contained stackref statemerge statetransfer staticinittrans statictrans
 | 
						|
syn keyword splintFlag contained strictbranchstate strictdestroy strictops strictusereleased stringliterallen
 | 
						|
syn keyword splintFlag contained stringliteralnoroom stringliteralnoroomfinalnull stringliteralsmaller stringliteraltoolong structimponly
 | 
						|
syn keyword splintFlag contained superuser switchloopbreak switchswitchbreak syntax sysdirerrors
 | 
						|
syn keyword splintFlag contained sysdirexpandmacros sysunrecog tagprefix tagprefixexclude temptrans
 | 
						|
syn keyword splintFlag contained tmpcomments toctou topuse trytorecover type
 | 
						|
syn keyword splintFlag contained typeprefix typeprefixexclude typeuse uncheckedglobalias uncheckedmacroprefix
 | 
						|
syn keyword splintFlag contained uncheckedmacroprefixexclude uniondef unixstandard unqualifiedinittrans unqualifiedtrans
 | 
						|
syn keyword splintFlag contained unreachable unrecog unrecogcomments unrecogdirective unrecogflagcomments
 | 
						|
syn keyword splintFlag contained unsignedcompare unusedspecial usedef usereleased usevarargs
 | 
						|
syn keyword splintFlag contained varuse voidabstract warnflags warnlintcomments warnmissingglobs
 | 
						|
syn keyword splintFlag contained warnmissingglobsnoglobs warnposixheaders warnrc warnsysfiles warnunixlib
 | 
						|
syn keyword splintFlag contained warnuse whileblock whileempty whileloopexec zerobool
 | 
						|
syn keyword splintFlag contained zeroptr
 | 
						|
"				       Global Flags:
 | 
						|
syn keyword splintGlobalFlag contained csv dump errorstream errorstreamstderr errorstreamstdout
 | 
						|
syn keyword splintGlobalFlag contained expect f help i isolib
 | 
						|
syn keyword splintGlobalFlag contained larchpath lclexpect lclimportdir lcs lh
 | 
						|
syn keyword splintGlobalFlag contained load messagestream messagestreamstderr messagestreamstdout mts
 | 
						|
syn keyword splintGlobalFlag contained neverinclude nof nolib posixlib posixstrictlib
 | 
						|
syn keyword splintGlobalFlag contained showalluses singleinclude skipsysheaders stats streamoverwrite
 | 
						|
syn keyword splintGlobalFlag contained strictlib supcounts sysdirs timedist tmpdir
 | 
						|
syn keyword splintGlobalFlag contained unixlib unixstrictlib warningstream warningstreamstderr warningstreamstdout
 | 
						|
syn keyword splintGlobalFlag contained whichlib
 | 
						|
syn match   splintFlagExpr contained "[\+\-\=]" nextgroup=splintFlag,splintGlobalFlag
 | 
						|
 | 
						|
" detect missing /*@ and wrong */
 | 
						|
syn match	splintAnnError	"@\*/"
 | 
						|
syn cluster	cCommentGroup	add=splintAnnError
 | 
						|
syn match	splintAnnError2	"[^@]\*/"hs=s+1 contained
 | 
						|
syn region	splintAnnotation start="/\*@" end="@\*/" contains=@splintAnnotElem,cType keepend
 | 
						|
syn match	splintShortAnn	"/\*@\*/"
 | 
						|
syn cluster	splintAnnotElem	contains=splintStateAnnot,splintSpecialAnnot,splintSpecTag,splintModifies,splintRequires,splintGlobals,splintGlobitem,splintGlobannot,splintWarning,splintModitem,splintIter,splintConst,splintAlt,splintType,splintGlobalType,splintMemMgm,splintAlias,splintExposure,splintDefState,splintGlobState,splintNullState,splintNullPred,splintExit,splintExec,splintSef,splintDecl,splintCase,splintBreak,splintUnreach,splintSpecFunc,splintErrSupp,splintTypeAcc,splintMacro,splintSpecType,splintAnnError2,splintFlagExpr
 | 
						|
syn cluster	splintAllStuff	contains=@splintAnnotElem,splintFlag,splintGlobalFlag
 | 
						|
syn cluster	cParenGroup	add=@splintAllStuff
 | 
						|
syn cluster	cPreProcGroup	add=@splintAllStuff
 | 
						|
syn cluster	cMultiGroup	add=@splintAllStuff
 | 
						|
 | 
						|
" Define the default highlighting.
 | 
						|
" For version 5.7 and earlier: only when not done already
 | 
						|
" For version 5.8 and later: only when an item doesn't have highlighting yet
 | 
						|
if version >= 508 || !exists("did_splint_syntax_inits")
 | 
						|
  if version < 508
 | 
						|
    let did_splint_syntax_inits = 1
 | 
						|
    command -nargs=+ HiLink hi link <args>
 | 
						|
  else
 | 
						|
    command -nargs=+ HiLink hi def link <args>
 | 
						|
  endif
 | 
						|
 | 
						|
  HiLink splintShortAnn		splintAnnotation
 | 
						|
  HiLink splintAnnotation	Comment
 | 
						|
  HiLink splintAnnError		splintError
 | 
						|
  HiLink splintAnnError2	splintError
 | 
						|
  HiLink splintFlag		SpecialComment
 | 
						|
  HiLink splintGlobalFlag	splintError
 | 
						|
  HiLink splintSpecialAnnot	splintAnnKey
 | 
						|
  HiLink splintStateAnnot	splintAnnKey
 | 
						|
  HiLink splintSpecTag		splintAnnKey
 | 
						|
  HiLink splintModifies		splintAnnKey
 | 
						|
  HiLink splintRequires		splintAnnKey
 | 
						|
  HiLink splintGlobals		splintAnnKey
 | 
						|
  HiLink splintGlobitem		Constant
 | 
						|
  HiLink splintGlobannot	splintAnnKey
 | 
						|
  HiLink splintWarning		splintAnnKey
 | 
						|
  HiLink splintModitem		Constant
 | 
						|
  HiLink splintIter		splintAnnKey
 | 
						|
  HiLink splintConst		splintAnnKey
 | 
						|
  HiLink splintAlt		splintAnnKey
 | 
						|
  HiLink splintType		splintAnnKey
 | 
						|
  HiLink splintGlobalType	splintAnnKey
 | 
						|
  HiLink splintMemMgm		splintAnnKey
 | 
						|
  HiLink splintAlias		splintAnnKey
 | 
						|
  HiLink splintExposure		splintAnnKey
 | 
						|
  HiLink splintDefState		splintAnnKey
 | 
						|
  HiLink splintGlobState	splintAnnKey
 | 
						|
  HiLink splintNullState	splintAnnKey
 | 
						|
  HiLink splintNullPred		splintAnnKey
 | 
						|
  HiLink splintExit		splintAnnKey
 | 
						|
  HiLink splintExec		splintAnnKey
 | 
						|
  HiLink splintSef		splintAnnKey
 | 
						|
  HiLink splintDecl		splintAnnKey
 | 
						|
  HiLink splintCase		splintAnnKey
 | 
						|
  HiLink splintBreak		splintAnnKey
 | 
						|
  HiLink splintUnreach		splintAnnKey
 | 
						|
  HiLink splintSpecFunc		splintAnnKey
 | 
						|
  HiLink splintErrSupp		splintAnnKey
 | 
						|
  HiLink splintTypeAcc		splintAnnKey
 | 
						|
  HiLink splintMacro		splintAnnKey
 | 
						|
  HiLink splintSpecType		splintAnnKey
 | 
						|
  HiLink splintAnnKey		Type
 | 
						|
  HiLink splintError		Error
 | 
						|
 | 
						|
  delcommand HiLink
 | 
						|
endif
 | 
						|
 | 
						|
let b:current_syntax = "splint"
 | 
						|
 | 
						|
" vim: ts=8
 |