Hallo Bram,
Thomas Köhler wrote:
> While I'm at it, I also just fixed a bug in uil.vim, see attached
> version.

Well, next time I'll first fix ALL bugs, then submit a new
version... here's the final version that fixes another small
glitch.

Ciao,
Thomas

-- 
 Thomas Köhler       Email:       jean-...@picard.franken.de
     <><             WWW:              http://gott-gehabt.de
                     IRC: tkoehler       Freenode: thkoehler
                     PGP public key available from Homepage!
" Vim syntax file
" Language:     Motif UIL (User Interface Language)
" Maintainer:   Thomas Koehler <jean-...@picard.franken.de>
" Last Change:  2013 May 23
" URL:          
http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim

" Quit when a syntax file was already loaded
if version < 600
   syntax clear
elseif exists("b:current_syntax")
  finish
endif

" A bunch of useful keywords
syn keyword uilType     arguments       callbacks       color
syn keyword uilType     compound_string controls        end
syn keyword uilType     exported        file            include
syn keyword uilType     module          object          procedure
syn keyword uilType     user_defined    xbitmapfile

syn keyword uilTodo contained   TODO

" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match   uilSpecial contained "\\\d\d\d\|\\."
syn region  uilString           start=+"+  skip=+\\\\\|\\"+  end=+"+  
contains=@Spell,uilSpecial
syn match   uilCharacter        "'[^\\]'"
syn region  uilString           start=+'+  skip=+\\\\\|\\'+  end=+'+  
contains=@Spell,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]\x\+\>"

syn region uilComment           start="/\*"  end="\*/" contains=@Spell,uilTodo
syn match  uilComment           "!.*" contains=@Spell,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
if version >= 508 || !exists("did_uil_syn_inits")
  if version < 508
    let did_uil_syn_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif

  " The default highlighting.
  HiLink uilCharacter           uilString
  HiLink uilSpecialCharacter    uilSpecial
  HiLink uilNumber              uilString
  HiLink uilCommentError        uilError
  HiLink uilInclude             uilPreCondit
  HiLink uilDefine              uilPreCondit
  HiLink uilIncluded            uilString
  HiLink uilSpecialFunction     uilRessource
  HiLink uilRessource           Identifier
  HiLink uilSpecialStatement    Keyword
  HiLink uilError               Error
  HiLink uilPreCondit           PreCondit
  HiLink uilType                Type
  HiLink uilString              String
  HiLink uilComment             Comment
  HiLink uilSpecial             Special
  HiLink uilTodo                Todo

  delcommand HiLink
endif


let b:current_syntax = "uil"

" vim: ts=8

Attachment: signature.asc
Description: Digital signature

Raspunde prin e-mail lui