" Highlight special characters (those which have a backslash) differently
syn match uilSpecial contained "\\\d\d\d\|\\."
syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=uilSpecial
syn match uilCharacter "'[^\\]'"
syn region uilString start=+'+ skip=+\\\\\|\\"+ end=+'+ contains=uilSpecial
syn match uilSpecialCharacter "'\\.'"
syn match uilSpecialStatement "Xm[^ =(){}]*"
syn match uilSpecialFunction "MrmNcreateCallback"
syn match uilRessource "XmN[^ =(){}]*"
syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
syn match uilNumber "0[xX][0-9a-fA-F]\+\>"
syn region uilComment start="/\*" end="\*/" contains=uilTodo
syn match uilComment "!.*" contains=uilTodo
syn match uilCommentError "\*/"
syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError
syn match uilIncluded contained "<[^>]*>"
syn match uilInclude "^#\s*include\s\+." contains=uilString,uilIncluded
syn match uilLineSkip "\\$"
syn region uilDefine start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError
syn sync ccomment uilComment
" 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