1" Vim syntax file 2" Language: Motif UIL (User Interface Language) 3" Maintainer: Thomas Koehler <[email protected]> 4" Last Change: 2013 May 23 5" URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim 6 7" Quit when a syntax file was already loaded 8if version < 600 9 syntax clear 10elseif exists("b:current_syntax") 11 finish 12endif 13 14" A bunch of useful keywords 15syn keyword uilType arguments callbacks color 16syn keyword uilType compound_string controls end 17syn keyword uilType exported file include 18syn keyword uilType module object procedure 19syn keyword uilType user_defined xbitmapfile 20 21syn keyword uilTodo contained TODO 22 23" String and Character constants 24" Highlight special characters (those which have a backslash) differently 25syn match uilSpecial contained "\\\d\d\d\|\\." 26syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,uilSpecial 27syn match uilCharacter "'[^\\]'" 28syn region uilString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,uilSpecial 29syn match uilSpecialCharacter "'\\.'" 30syn match uilSpecialStatement "Xm[^ =(){}:;]*" 31syn match uilSpecialFunction "MrmNcreateCallback" 32syn match uilRessource "XmN[^ =(){}:;]*" 33 34syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>" 35syn match uilNumber "0[xX]\x\+\>" 36 37syn region uilComment start="/\*" end="\*/" contains=@Spell,uilTodo 38syn match uilComment "!.*" contains=@Spell,uilTodo 39syn match uilCommentError "\*/" 40 41syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError 42syn match uilIncluded contained "<[^>]*>" 43syn match uilInclude "^#\s*include\s\+." contains=uilString,uilIncluded 44syn match uilLineSkip "\\$" 45syn region uilDefine start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError 46 47syn sync ccomment uilComment 48 49" Define the default highlighting. 50" For version 5.7 and earlier: only when not done already 51" For version 5.8 and later: only when an item doesn't have highlighting yet 52if version >= 508 || !exists("did_uil_syn_inits") 53 if version < 508 54 let did_uil_syn_inits = 1 55 command -nargs=+ HiLink hi link <args> 56 else 57 command -nargs=+ HiLink hi def link <args> 58 endif 59 60 " The default highlighting. 61 HiLink uilCharacter uilString 62 HiLink uilSpecialCharacter uilSpecial 63 HiLink uilNumber uilString 64 HiLink uilCommentError uilError 65 HiLink uilInclude uilPreCondit 66 HiLink uilDefine uilPreCondit 67 HiLink uilIncluded uilString 68 HiLink uilSpecialFunction uilRessource 69 HiLink uilRessource Identifier 70 HiLink uilSpecialStatement Keyword 71 HiLink uilError Error 72 HiLink uilPreCondit PreCondit 73 HiLink uilType Type 74 HiLink uilString String 75 HiLink uilComment Comment 76 HiLink uilSpecial Special 77 HiLink uilTodo Todo 78 79 delcommand HiLink 80endif 81 82 83let b:current_syntax = "uil" 84 85" vim: ts=8 86