mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			212 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			8.7 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
" Vim syntax file
 | 
						|
" Language:		Icon
 | 
						|
" Maintainer:		Doug Kearns <dougkearns@gmail.com>
 | 
						|
" Previous Maintainer:	Wendell Turner <wendell@adsi-m4.com> (invalid last known address)
 | 
						|
" Last Change:		2022 Jun 16
 | 
						|
" Contributor:		eschen@alumni.princeton.edu 2002.09.18
 | 
						|
 | 
						|
" Prelude {{{1
 | 
						|
if exists("b:current_syntax")
 | 
						|
  finish
 | 
						|
endif
 | 
						|
 | 
						|
syn iskeyword @,48-57,_,192-255,&
 | 
						|
 | 
						|
" Not Top {{{1
 | 
						|
syn cluster iconNotTop contains=iconDocField,iconIncluded,iconStringSpecial,iconTodo,@Spell
 | 
						|
 | 
						|
" Whitespace errors {{{1
 | 
						|
if exists("icon_space_errors")
 | 
						|
  if !exists("icon_no_trail_space_error")
 | 
						|
    syn match iconSpaceError "\s\+$"       display excludenl
 | 
						|
  endif
 | 
						|
  if !exists("icon_no_tab_space_error")
 | 
						|
    syn match iconSpaceError " \+\t"me=e-1 display
 | 
						|
  endif
 | 
						|
endif
 | 
						|
 | 
						|
" Reserved words {{{1
 | 
						|
syn keyword iconReserved break by case create default do else every fail if
 | 
						|
syn keyword iconReserved initial next not of repeat return suspend then to
 | 
						|
syn keyword iconReserved until while
 | 
						|
 | 
						|
syn keyword iconStorageClass global static local record invocable
 | 
						|
 | 
						|
syn keyword iconLink link
 | 
						|
 | 
						|
" Procedure definitions {{{1
 | 
						|
if exists("icon_no_procedure_fold")
 | 
						|
  syn region iconProcedure matchgroup=iconReserved start="\<procedure\>" end="\<end\>" contains=ALLBUT,@iconNotTop
 | 
						|
else
 | 
						|
  syn region iconProcedure matchgroup=iconReserved start="\<procedure\>" end="\<end\>" contains=ALLBUT,@iconNotTop fold
 | 
						|
endif
 | 
						|
 | 
						|
" Keywords {{{1
 | 
						|
syn keyword iconKeyword &allocated &ascii &clock &collections &cset ¤t
 | 
						|
syn keyword iconKeyword &date &dateline &digits &dump &e &error &errornumber
 | 
						|
syn keyword iconKeyword &errortext &errorvalue &errout &fail &features &file
 | 
						|
syn keyword iconKeyword &host &input &lcase &letters &level &line &main &null
 | 
						|
syn keyword iconKeyword &output &phi &pi &pos &progname &random ®ions
 | 
						|
syn keyword iconKeyword &source &storage &subject &time &trace &ucase &version
 | 
						|
 | 
						|
" Graphics keywords
 | 
						|
syn keyword iconKeyword &col &control &interval &ldrag &lpress &lrelease
 | 
						|
syn keyword iconKeyword &mdrag &meta &mpress &mrelease &rdrag &resize &row
 | 
						|
syn keyword iconKeyword &rpress &rrelease &shift &window &x &y
 | 
						|
 | 
						|
" Functions {{{1
 | 
						|
syn keyword iconFunction abs acos any args asin atan bal callout center char
 | 
						|
syn keyword iconFunction chdir close collect copy cos cset delay delete detab
 | 
						|
syn keyword iconFunction display dtor entab errorclear exit exp find flush
 | 
						|
syn keyword iconFunction function get getch getche getenv iand icom image
 | 
						|
syn keyword iconFunction insert integer ior ishift ixor kbhit key left list
 | 
						|
syn keyword iconFunction loadfunc log many map match member move name numeric
 | 
						|
syn keyword iconFunction open ord pop pos proc pull push put read reads real
 | 
						|
syn keyword iconFunction remove rename repl reverse right rtod runerr save
 | 
						|
syn keyword iconFunction seek self seq serial set sin sort sortf sqrt stop
 | 
						|
syn keyword iconFunction string system tab table tan trim type upto variable
 | 
						|
syn keyword iconFunction where write writes
 | 
						|
 | 
						|
" Graphics functions
 | 
						|
syn keyword iconFunction Active Alert Bg CenterString Clip Clone Color
 | 
						|
syn keyword iconFunction ColorDialog ColorValue CopyArea Couple DrawArc
 | 
						|
syn keyword iconFunction DrawCircle DrawCurve DrawImage DrawLine DrawPoint
 | 
						|
syn keyword iconFunction DrawPolygon DrawRectangle DrawSegment DrawString
 | 
						|
syn keyword iconFunction Enqueue EraseArea Event Fg FillArc FillCircle
 | 
						|
syn keyword iconFunction FillPolygon FillRectangle Font FreeColor GotoRC
 | 
						|
syn keyword iconFunction GotoXY LeftString Lower NewColor Notice OpenDialog
 | 
						|
syn keyword iconFunction PaletteChars PaletteColor PaletteGrays PaletteKey
 | 
						|
syn keyword iconFunction Pattern Pending Pixel Raise ReadImage RightString
 | 
						|
syn keyword iconFunction SaveDialog SelectDialog Shade TextDialog TextWidth
 | 
						|
syn keyword iconFunction ToggleDialog Uncouple WAttrib WClose WDefault WDelay
 | 
						|
syn keyword iconFunction WDone WFlush WOpen WQuit WRead WReads WriteImage
 | 
						|
syn keyword iconFunction WSync WWrite WWrites
 | 
						|
 | 
						|
" String and character constants {{{1
 | 
						|
syn match  iconStringSpecial "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^[a-zA-Z0-9]" contained 
 | 
						|
syn match  iconStringSpecial "\\$"							 contained
 | 
						|
syn match  iconStringSpecial "_\ze\s*$"						         contained
 | 
						|
 | 
						|
syn region iconString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconStringSpecial
 | 
						|
syn region iconCset   start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconStringSpecial
 | 
						|
 | 
						|
" Bracket errors {{{1
 | 
						|
 | 
						|
if !exists("icon_no_bracket_errors")
 | 
						|
  " catch errors caused by wrong brackets (ACE 2002.09.18)
 | 
						|
  syn cluster iconBracketGroup contains=iconBracketError,iconIncluded
 | 
						|
  syn region  iconBracket      start='\[' end='\]' contains=ALLBUT,@iconBracketGroup,@iconNotTop transparent 
 | 
						|
  syn match   iconBracketError "]"
 | 
						|
  
 | 
						|
  "catch errors caused by wrong braces (ACE 2002.09.18)
 | 
						|
  syn cluster iconBraceGroup contains=iconBraceError,iconIncluded
 | 
						|
  syn region  iconBrace	     start='{' end='}' contains=ALLBUT,@iconBraceGroup,@iconNotTop transparent 
 | 
						|
  syn match   iconBraceError "}"
 | 
						|
  
 | 
						|
  "catch errors caused by wrong parenthesis
 | 
						|
  syn cluster iconParenGroup contains=iconParenError,iconIncluded
 | 
						|
  syn region  iconParen	     start='(' end=')' contains=ALLBUT,@iconParenGroup,@iconNotTop transparent 
 | 
						|
  syn match   iconParenError ")"
 | 
						|
end
 | 
						|
 | 
						|
" Numbers {{{1
 | 
						|
syn case ignore
 | 
						|
 | 
						|
" integer
 | 
						|
syn match iconInteger "\<\d\+\>"
 | 
						|
syn match iconInteger "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>"
 | 
						|
 | 
						|
" real with trailing dot
 | 
						|
syn match iconReal    "\<\d\+\."
 | 
						|
 | 
						|
" real, with dot, optional exponent
 | 
						|
syn match iconReal    "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>"
 | 
						|
 | 
						|
" real, with leading dot, optional exponent
 | 
						|
syn match iconReal    "\.\d\+\%(e[-+]\=\d\+\)\=\>"
 | 
						|
 | 
						|
" real, without dot, with exponent
 | 
						|
syn match iconReal    "\<\d\+e[-+]\=\d\+\>"
 | 
						|
 | 
						|
syn cluster iconNumber contains=iconInteger,iconReal
 | 
						|
 | 
						|
syn case match
 | 
						|
 | 
						|
" Comments {{{1
 | 
						|
syn keyword iconTodo	 TODO FIXME XXX BUG contained
 | 
						|
syn match   iconComment	 "#.*" contains=iconTodo,iconSpaceError,@Spell
 | 
						|
syn match   iconDocField "^#\s\+\zs\%(File\|Subject\|Authors\=\|Date\|Version\|Links\|Requires\|See also\):" contained
 | 
						|
 | 
						|
if exists("icon_no_comment_fold")
 | 
						|
  syn region iconDocumentation	  start="\%^#\{2,}\%(\n#\+\%(\s\+.*\)\=\)\+"   end="^#\+\n\s*$"		  contains=iconDocField keepend
 | 
						|
else
 | 
						|
  syn region iconMultilineComment start="^\s*#.*\n\%(^\s*#\)\@=" end="^\s*#.*\n\%(^\s*#\)\@!" contains=iconComment  keepend fold transparent 
 | 
						|
  syn region iconDocumentation	  start="\%^#\{2,}\%(\n#\)\+"	 end="^#\+\n\%([^#]\|$\)"     contains=iconDocField keepend fold
 | 
						|
endif
 | 
						|
 | 
						|
" Preprocessor {{{1
 | 
						|
syn match iconPreInclude  '^\s*\zs$\s*include\>\ze\s*"' nextgroup=iconIncluded skipwhite
 | 
						|
syn match iconIncluded '"[^"]\+"' contained
 | 
						|
 | 
						|
syn region iconPreDefine      start="^\s*\zs$\s*\%(define\|undef\)\>"			     end="$" oneline contains=ALLBUT,@iconPreGroup
 | 
						|
syn region iconPreProc	      start="^\s*\zs$\s*\%(error\|line\)\>"			     end="$" oneline contains=ALLBUT,@iconPreGroup
 | 
						|
syn region iconPreConditional start="^\s*\zs$\s*\%(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" end="$" oneline contains=iconComment,iconString,iconCset,iconNumber,iconSpaceError
 | 
						|
 | 
						|
syn cluster iconPreGroup contains=iconPreCondit,iconPreInclude,iconIncluded,iconPreDefine
 | 
						|
 | 
						|
syn match   iconPreSymbol "_V\d\+"
 | 
						|
syn keyword iconPreSymbol _ACORN _AMIGA _ARM_FUNCTIONS _ASCII _CALLING
 | 
						|
syn keyword iconPreSymbol _CO_EXPRESSIONS _COMPILED _DIRECT_EXECUTION
 | 
						|
syn keyword iconPreSymbol _DOS_FUNCTIONS _EBCDIC _EVENT_MONITOR
 | 
						|
syn keyword iconPreSymbol _EXECUTABLE_IMAGES _EXTERNAL_FUNCTIONS
 | 
						|
syn keyword iconPreSymbol _EXTERNAL_VALUES _INTERPRETED _KEYBOARD_FUNCTIONS
 | 
						|
syn keyword iconPreSymbol _LARGE_INTEGERS _MACINTOSH _MEMORY_MONITOR _MSDOS
 | 
						|
syn keyword iconPreSymbol _MSDOS_386 _MULTIREGION _MULTITASKING _OS2 _PIPES
 | 
						|
syn keyword iconPreSymbol _PORT _PRESENTATION_MGR _RECORD_IO _STRING_INVOKE
 | 
						|
syn keyword iconPreSymbol _SYSTEM_FUNCTION _UNIX _VISUALIZATION _VMS
 | 
						|
syn keyword iconPreSymbol _WINDOW_FUNCTIONS _X_WINDOW_SYSTEM 
 | 
						|
 | 
						|
" Syncing {{{1
 | 
						|
if !exists("icon_minlines")
 | 
						|
  let icon_minlines = 250
 | 
						|
endif
 | 
						|
exec "syn sync ccomment iconComment minlines=" . icon_minlines
 | 
						|
 | 
						|
" Default Highlighting  {{{1
 | 
						|
 | 
						|
hi def link iconParenError	iconError
 | 
						|
hi def link iconBracketError	iconError
 | 
						|
hi def link iconBraceError	iconError
 | 
						|
hi def link iconSpaceError	iconError
 | 
						|
hi def link iconError		Error
 | 
						|
 | 
						|
hi def link iconInteger		Number
 | 
						|
hi def link iconReal		Float
 | 
						|
hi def link iconString		String
 | 
						|
hi def link iconCset		String
 | 
						|
hi def link iconStringSpecial	SpecialChar
 | 
						|
 | 
						|
hi def link iconPreProc		PreProc
 | 
						|
hi def link iconIncluded	iconString
 | 
						|
hi def link iconPreInclude	Include
 | 
						|
hi def link iconPreSymbol	iconPreProc
 | 
						|
hi def link iconPreDefine	Define
 | 
						|
hi def link iconPreConditional	PreCondit
 | 
						|
 | 
						|
hi def link iconStatement	Statement
 | 
						|
hi def link iconStorageClass	StorageClass
 | 
						|
hi def link iconFunction	Function
 | 
						|
hi def link iconReserved	Label
 | 
						|
hi def link iconLink		Include
 | 
						|
hi def link iconKeyword		Keyword
 | 
						|
 | 
						|
hi def link iconComment		Comment
 | 
						|
hi def link iconTodo		Todo
 | 
						|
hi def link iconDocField	SpecialComment
 | 
						|
hi def link iconDocumentation	Comment
 | 
						|
 | 
						|
" Postscript  {{{1
 | 
						|
let b:current_syntax = "icon"
 | 
						|
 | 
						|
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:
 |