2 " Language: GObject Builder (gob)
3 " Maintainer: Ding-Yi Chen <dchen@redhat.com>
4 " Modified from cpp.vim
5 " Last Change: 2008 Feb 08
9 elseif exists("b:current_syntax")
13 " Read the C syntax to start with
18 unlet b:current_syntax
22 " GOBject Builder extentions
23 syn keyword gobClass class
24 syn keyword gobSelf self
25 syn keyword gobAccess public protected private
26 syn keyword gobClassDeclare abstract from interface
27 syn keyword gobCBlockKeyword alltop headertop privateheader h a
28 syn match gobCBlockStart /%\(alltop{\|headertop{\|privateheader{\|h{\|a{\|{\)/
29 syn match gobCBlockEnd /%}/
30 syn keyword gobArguCondition check type
31 syn keyword gobDataDeclare classwide
32 syn keyword gobDataOperation destroy destroywith unref unrefwith
33 syn keyword gobDataOperationMacro VAR VAL
34 syn keyword gobDataProperty nick blurb default_value minimum maximum enum_type flag_type object_type boxed_type param_type link export
35 syn keyword gobDataPropertyFunc property get set
36 syn keyword gobDataPropertyType INT LONG FLOAT DOUBLE CHAR GUNICHAR BOOLEAN ENUM FLAGS STRING OBJECT BOXED POINTER PARAM
37 syn keyword gobDataType flags error
39 syn keyword gobReturn onerror defreturn
40 syn keyword gobInitMethod init class_init GET_NEW
41 syn keyword gobParentMethod PARENT_HANDLER
42 syn keyword gobMethodModifier signal virtual override
44 syn keyword gobSelfReference SELF IS_SELF SELF_CLASS
46 syn keyword gobVersion requires GOB_VERSION_MAJOR GOB_VERSION_MINOR and GOB_VERSION_PATCHLEVEL
47 syn keyword gobSupported BonoboObject GladeXML
48 syn keyword gobBoolean TRUE FALSE
49 syn keyword gobConstant null
51 " Default highlighting
52 if version >= 508 || !exists("did_gob_syntax_inits")
54 let did_gob_syntax_inits = 1
55 command -nargs=+ HiLink hi link <args>
57 command -nargs=+ HiLink hi def link <args>
59 HiLink gobClass Structure
60 HiLink gobSelf Typedef
61 HiLink gobAccess Statement
62 HiLink gobClassDeclare Statement
63 HiLink gobCBlockStart Include
64 HiLink gobCBlockEnd Include
65 HiLink gobArguContition Statement
66 HiLink gobDataDeclare Statement
67 HiLink gobDataOperation Statement
68 HiLink gobDataOperationMacro Macro
69 HiLink gobDataProperty Macro
70 HiLink gobDataPropertyFunc Function
71 HiLink gobDataPropertyType Type
72 HiLink gobDataType Type
74 HiLink gobReturn Statement
75 HiLink gobInitMethod Function
76 HiLink gobParentMethod Function
77 HiLink gobMethodModifier Statement
79 HiLink gobSelfReference Macro
81 HiLink gobVersion Include
82 HiLink gobSupported Typedef
83 HiLink gobBoolean Boolean
84 HiLink gobConstant Constant
89 let b:current_syntax = "gob"