xref: /vim-8.2.3635/runtime/syntax/uil.vim (revision cf2d8dee)
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