@@ -72,11 +72,7 @@ static kindDefinition ValaKinds [] = {
7272
7373enum eKeywordId
7474{
75- KEYWORD_STRING ,
76- KEYWORD_INT ,
77- KEYWORD_DOUBLE ,
78- KEYWORD_FLOAT ,
79- KEYWORD_BOOL ,
75+ KEYWORD_BUILTIN_TYPE ,
8076 KEYWORD_VOID ,
8177 KEYWORD_TYPE ,
8278 KEYWORD_ABSTRACT ,
@@ -150,13 +146,51 @@ enum eKeywordId
150146
151147typedef int keywordId ; /* to allow KEYWORD_NONE */
152148
153- static const keywordTable ValaKeywordTable [] = {
154- { "string" , KEYWORD_STRING },
155- { "int" , KEYWORD_INT },
156- { "double" , KEYWORD_DOUBLE },
157- { "float" , KEYWORD_FLOAT },
158- { "bool" , KEYWORD_BOOL },
149+ static struct keywordGroup valaBuiltInKeywordGroup = {
150+ .value = KEYWORD_BUILTIN_TYPE ,
151+ .addingUnlessExisting = false,
152+ .keywords = {
153+ /* type:
154+ * value-type:
155+ * fundamental-struct-type:
156+ * integral-type: */
157+ "char" ,
158+ "uchar" ,
159+ "short" ,
160+ "ushort" ,
161+ "int" ,
162+ "uint" ,
163+ "long" ,
164+ "ulong" ,
165+ "size_t" ,
166+ "ssize_t" ,
167+ "int8" ,
168+ "uint8" ,
169+ "int16" ,
170+ "uint16" ,
171+ "int32" ,
172+ "uint32" ,
173+ "int64" ,
174+ "uint64" ,
175+ "unichar" ,
176+ /* type:
177+ * value-type:
178+ * fundamental-struct-type:
179+ * floating-point-type: */
180+ "float" ,
181+ "double" ,
182+ /* type:
183+ * value-type:
184+ * fundamental-struct-type: */
185+ "bool" ,
186+ /* type:
187+ * reference-type: */
188+ "string" ,
189+ NULL
190+ },
191+ };
159192
193+ static const keywordTable ValaKeywordTable [] = {
160194 { "void" , KEYWORD_VOID },
161195 { "Type" , KEYWORD_TYPE },
162196 { "abstract" , KEYWORD_ABSTRACT },
@@ -803,6 +837,11 @@ static void findValaTags (void)
803837 flashTokenBacklog (& valaTokenInfoClass );
804838}
805839
840+ static void initialize (const langType language )
841+ {
842+ addKeywordGroup (& valaBuiltInKeywordGroup , language );
843+ }
844+
806845extern parserDefinition * ValaParser (void )
807846{
808847 static const char * const extensions [] = { "vala" , NULL };
@@ -816,6 +855,7 @@ extern parserDefinition* ValaParser (void)
816855 def -> useCork = true;
817856 def -> requestAutomaticFQTag = true;
818857
858+ def -> initialize = initialize ,
819859 def -> parser = findValaTags ;
820860 return def ;
821861}
0 commit comments