Merged from the latest developing branch.
[MacVim/jjgod.git] / runtime / syntax / uil.vim
blobbdc4e95b6e7388bfb044c6a37c7b441e192f5e6b
1 " Vim syntax file
2 " Language:     Motif UIL (User Interface Language)
3 " Maintainer:   Thomas Koehler <jean-luc@picard.franken.de>
4 " Last Change:  2002 Sep 20
5 " URL:          http://jeanluc-picard.de/vim/syntax/uil.vim
7 " Quit when a syntax file was already loaded
8 if version < 600
9    syntax clear
10 elseif exists("b:current_syntax")
11   finish
12 endif
14 " A bunch of useful keywords
15 syn keyword uilType     arguments       callbacks       color
16 syn keyword uilType     compound_string controls        end
17 syn keyword uilType     exported        file            include
18 syn keyword uilType     module          object          procedure
19 syn keyword uilType     user_defined    xbitmapfile
21 syn keyword uilTodo contained   TODO
23 " String and Character contstants
24 " Highlight special characters (those which have a backslash) differently
25 syn match   uilSpecial contained "\\\d\d\d\|\\."
26 syn region  uilString           start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=uilSpecial
27 syn match   uilCharacter        "'[^\\]'"
28 syn region  uilString           start=+'+  skip=+\\\\\|\\"+  end=+'+  contains=uilSpecial
29 syn match   uilSpecialCharacter "'\\.'"
30 syn match   uilSpecialStatement "Xm[^ =(){}]*"
31 syn match   uilSpecialFunction  "MrmNcreateCallback"
32 syn match   uilRessource        "XmN[^ =(){}]*"
34 syn match  uilNumber            "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
35 syn match  uilNumber            "0[xX][0-9a-fA-F]\+\>"
37 syn region uilComment           start="/\*"  end="\*/" contains=uilTodo
38 syn match  uilComment           "!.*" contains=uilTodo
39 syn match  uilCommentError      "\*/"
41 syn region uilPreCondit         start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError
42 syn match  uilIncluded contained "<[^>]*>"
43 syn match  uilInclude           "^#\s*include\s\+." contains=uilString,uilIncluded
44 syn match  uilLineSkip          "\\$"
45 syn region uilDefine            start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError
47 syn sync ccomment uilComment
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
52 if 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
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
79   delcommand HiLink
80 endif
83 let b:current_syntax = "uil"
85 " vim: ts=8