MCPcopy Create free account
hub / github.com/dhewm/dhewm3 / LoadKeyWordsFromFile

Method LoadKeyWordsFromFile

neo/tools/comafx/CSyntaxRichEditCtrl.cpp:331–393  ·  view source on GitHub ↗

================ CSyntaxRichEditCtrl::LoadKeyWordsFromFile ================ */

Source from the content-addressed store, hash-verified

329================
330*/
331bool CSyntaxRichEditCtrl::LoadKeyWordsFromFile( const char *fileName ) {
332 idParser src;
333 idToken token, name, description;
334 byte red, green, blue;
335 keyWord_t keyword;
336
337 if ( !src.LoadFile( fileName ) ) {
338 return false;
339 }
340
341 FreeKeyWordsFromFile();
342
343 while( src.ReadToken( &token ) ) {
344 if ( token.Icmp( "keywords" ) == 0 ) {
345 src.ExpectTokenString( "{" );
346 while( src.ReadToken( &token ) ) {
347 if ( token == "}" ) {
348 break;
349 }
350 if ( token == "{" ) {
351
352 // parse name
353 src.ExpectTokenType( TT_STRING, 0, &name );
354 src.ExpectTokenString( "," );
355
356 // parse color
357 src.ExpectTokenString( "(" );
358 src.ExpectTokenType( TT_NUMBER, TT_INTEGER, &token );
359 red = token.GetIntValue();
360 src.ExpectTokenString( "," );
361 src.ExpectTokenType( TT_NUMBER, TT_INTEGER, &token );
362 green = token.GetIntValue();
363 src.ExpectTokenString( "," );
364 src.ExpectTokenType( TT_NUMBER, TT_INTEGER, &token );
365 blue = token.GetIntValue();
366 src.ExpectTokenString( ")" );
367 src.ExpectTokenString( "," );
368
369 // parse description
370 src.ExpectTokenType( TT_STRING, 0, &description );
371 src.ExpectTokenString( "}" );
372
373 keyword.keyWord = Mem_CopyString( name );
374 keyword.color = RGB( red, green, blue );
375 keyword.description = Mem_CopyString( description );
376
377 keyWordsFromFile.Append( keyword );
378 }
379 }
380 } else {
381 src.SkipBracedSection();
382 }
383 }
384
385 keyword.keyWord = NULL;
386 keyword.color = RGB( 255, 255, 255 );
387 keyword.description = NULL;
388 keyWordsFromFile.Append( keyword );

Callers 3

OpenFileMethod · 0.80
LoadDeclMethod · 0.80
OnInitialUpdateMethod · 0.80

Calls 10

Mem_CopyStringFunction · 0.85
GetIntValueMethod · 0.80
IcmpMethod · 0.60
LoadFileMethod · 0.45
ReadTokenMethod · 0.45
ExpectTokenStringMethod · 0.45
ExpectTokenTypeMethod · 0.45
AppendMethod · 0.45
SkipBracedSectionMethod · 0.45
PtrMethod · 0.45

Tested by

no test coverage detected