mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
a98a6996c2
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>
179 lines
6.8 KiB
VimL
179 lines
6.8 KiB
VimL
" Vim syntax file
|
|
" Language: UnrealScript
|
|
" Maintainer: Mark Ferrell <major@chaoticdreams.org>
|
|
" URL: ftp://ftp.chaoticdreams.org/pub/ut/vim/uc.vim
|
|
" Credits: Based on the java.vim syntax file by Claudio Fleiner
|
|
" Last change: 2003 May 31
|
|
|
|
" Please check :help uc.vim for comments on some of the options available.
|
|
|
|
" 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
|
|
|
|
" some characters that cannot be in a UnrealScript program (outside a string)
|
|
syn match ucError "[\\@`]"
|
|
syn match ucError "<<<\|\.\.\|=>\|<>\|||=\|&&=\|[^-]->\|\*\/"
|
|
|
|
" we define it here so that included files can test for it
|
|
if !exists("main_syntax")
|
|
let main_syntax='uc'
|
|
endif
|
|
|
|
syntax case ignore
|
|
|
|
" keyword definitions
|
|
syn keyword ucBranch break continue
|
|
syn keyword ucConditional if else switch
|
|
syn keyword ucRepeat while for do foreach
|
|
syn keyword ucBoolean true false
|
|
syn keyword ucConstant null
|
|
syn keyword ucOperator new instanceof
|
|
syn keyword ucType boolean char byte short int long float double
|
|
syn keyword ucType void Pawn sound state auto exec function ipaddr
|
|
syn keyword ucType ELightType actor ammo defaultproperties bool
|
|
syn keyword ucType native noexport var out vector name local string
|
|
syn keyword ucType event
|
|
syn keyword ucStatement return
|
|
syn keyword ucStorageClass static synchronized transient volatile final
|
|
syn keyword ucMethodDecl synchronized throws
|
|
|
|
" UnrealScript defines classes in sorta fscked up fashion
|
|
syn match ucClassDecl "^[Cc]lass[\s$]*\S*[\s$]*expands[\s$]*\S*;" contains=ucSpecial,ucSpecialChar,ucClassKeys
|
|
syn keyword ucClassKeys class expands extends
|
|
syn match ucExternal "^\#exec.*" contains=ucCommentString,ucNumber
|
|
syn keyword ucScopeDecl public protected private abstract
|
|
|
|
" UnrealScript Functions
|
|
syn match ucFuncDef "^.*function\s*[\(]*" contains=ucType,ucStorageClass
|
|
syn match ucEventDef "^.*event\s*[\(]*" contains=ucType,ucStorageClass
|
|
syn match ucClassLabel "[a-zA-Z0-9]*\'[a-zA-Z0-9]*\'" contains=ucCharacter
|
|
|
|
syn region ucLabelRegion transparent matchgroup=ucLabel start="\<case\>" matchgroup=NONE end=":" contains=ucNumber
|
|
syn match ucUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=ucLabel
|
|
syn keyword ucLabel default
|
|
|
|
" The following cluster contains all java groups except the contained ones
|
|
syn cluster ucTop contains=ucExternal,ucError,ucError,ucBranch,ucLabelRegion,ucLabel,ucConditional,ucRepeat,ucBoolean,ucConstant,ucTypedef,ucOperator,ucType,ucType,ucStatement,ucStorageClass,ucMethodDecl,ucClassDecl,ucClassDecl,ucClassDecl,ucScopeDecl,ucError,ucError2,ucUserLabel,ucClassLabel
|
|
|
|
" Comments
|
|
syn keyword ucTodo contained TODO FIXME XXX
|
|
syn region ucCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=ucSpecial,ucCommentStar,ucSpecialChar
|
|
syn region ucComment2String contained start=+"+ end=+$\|"+ contains=ucSpecial,ucSpecialChar
|
|
syn match ucCommentCharacter contained "'\\[^']\{1,6\}'" contains=ucSpecialChar
|
|
syn match ucCommentCharacter contained "'\\''" contains=ucSpecialChar
|
|
syn match ucCommentCharacter contained "'[^\\]'"
|
|
syn region ucComment start="/\*" end="\*/" contains=ucCommentString,ucCommentCharacter,ucNumber,ucTodo
|
|
syn match ucCommentStar contained "^\s*\*[^/]"me=e-1
|
|
syn match ucCommentStar contained "^\s*\*$"
|
|
syn match ucLineComment "//.*" contains=ucComment2String,ucCommentCharacter,ucNumber,ucTodo
|
|
hi link ucCommentString ucString
|
|
hi link ucComment2String ucString
|
|
hi link ucCommentCharacter ucCharacter
|
|
|
|
syn cluster ucTop add=ucComment,ucLineComment
|
|
|
|
" match the special comment /**/
|
|
syn match ucComment "/\*\*/"
|
|
|
|
" Strings and constants
|
|
syn match ucSpecialError contained "\\."
|
|
"syn match ucSpecialCharError contained "[^']"
|
|
syn match ucSpecialChar contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
|
|
syn region ucString start=+"+ end=+"+ contains=ucSpecialChar,ucSpecialError
|
|
syn match ucStringError +"\([^"\\]\|\\.\)*$+
|
|
syn match ucCharacter "'[^']*'" contains=ucSpecialChar,ucSpecialCharError
|
|
syn match ucCharacter "'\\''" contains=ucSpecialChar
|
|
syn match ucCharacter "'[^\\]'"
|
|
syn match ucNumber "\<\(0[0-7]*\|0[xX]\x\+\|\d\+\)[lL]\=\>"
|
|
syn match ucNumber "\(\<\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[fFdD]\="
|
|
syn match ucNumber "\<\d\+[eE][-+]\=\d\+[fFdD]\=\>"
|
|
syn match ucNumber "\<\d\+\([eE][-+]\=\d\+\)\=[fFdD]\>"
|
|
|
|
" unicode characters
|
|
syn match ucSpecial "\\u\d\{4\}"
|
|
|
|
syn cluster ucTop add=ucString,ucCharacter,ucNumber,ucSpecial,ucStringError
|
|
|
|
" catch errors caused by wrong parenthesis
|
|
syn region ucParen transparent start="(" end=")" contains=@ucTop,ucParen
|
|
syn match ucParenError ")"
|
|
hi link ucParenError ucError
|
|
|
|
if !exists("uc_minlines")
|
|
let uc_minlines = 10
|
|
endif
|
|
exec "syn sync ccomment ucComment minlines=" . uc_minlines
|
|
|
|
" 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_uc_syntax_inits")
|
|
if version < 508
|
|
let did_uc_syntax_inits = 1
|
|
command -nargs=+ HiLink hi link <args>
|
|
else
|
|
command -nargs=+ HiLink hi def link <args>
|
|
endif
|
|
|
|
HiLink ucFuncDef Conditional
|
|
HiLink ucEventDef Conditional
|
|
HiLink ucBraces Function
|
|
HiLink ucBranch Conditional
|
|
HiLink ucLabel Label
|
|
HiLink ucUserLabel Label
|
|
HiLink ucConditional Conditional
|
|
HiLink ucRepeat Repeat
|
|
HiLink ucStorageClass StorageClass
|
|
HiLink ucMethodDecl ucStorageClass
|
|
HiLink ucClassDecl ucStorageClass
|
|
HiLink ucScopeDecl ucStorageClass
|
|
HiLink ucBoolean Boolean
|
|
HiLink ucSpecial Special
|
|
HiLink ucSpecialError Error
|
|
HiLink ucSpecialCharError Error
|
|
HiLink ucString String
|
|
HiLink ucCharacter Character
|
|
HiLink ucSpecialChar SpecialChar
|
|
HiLink ucNumber Number
|
|
HiLink ucError Error
|
|
HiLink ucStringError Error
|
|
HiLink ucStatement Statement
|
|
HiLink ucOperator Operator
|
|
HiLink ucOverLoaded Operator
|
|
HiLink ucComment Comment
|
|
HiLink ucDocComment Comment
|
|
HiLink ucLineComment Comment
|
|
HiLink ucConstant ucBoolean
|
|
HiLink ucTypedef Typedef
|
|
HiLink ucTodo Todo
|
|
|
|
HiLink ucCommentTitle SpecialComment
|
|
HiLink ucDocTags Special
|
|
HiLink ucDocParam Function
|
|
HiLink ucCommentStar ucComment
|
|
|
|
HiLink ucType Type
|
|
HiLink ucExternal Include
|
|
|
|
HiLink ucClassKeys Conditional
|
|
HiLink ucClassLabel Conditional
|
|
|
|
HiLink htmlComment Special
|
|
HiLink htmlCommentPart Special
|
|
|
|
delcommand HiLink
|
|
endif
|
|
|
|
let b:current_syntax = "uc"
|
|
|
|
if main_syntax == 'uc'
|
|
unlet main_syntax
|
|
endif
|
|
|
|
" vim: ts=8
|