12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- program test_multiple_categories;
- {$mode objfpc}{$H+}
- uses
- SysUtils, Classes, syntax.highlighter, syntax.pascal;
- procedure TestMultipleCategories;
- var
- categories: TStringList;
- i: Integer;
- javaID, pythonID, cppID, pascalID: Integer;
- begin
- WriteLn('Testing Multiple Categories');
- WriteLn('===========================');
- WriteLn;
- // Register various language categories
- javaID := TSyntaxHighlighter.RegisterCategory('Java');
- pythonID := TSyntaxHighlighter.RegisterCategory('Python');
- cppID := TSyntaxHighlighter.RegisterCategory('C++');
- // Pascal will already be registered from the previous test/highlighter usage
- pascalID := TSyntaxHighlighter.RegisterCategory('Pascal');
- WriteLn('Category IDs:');
- WriteLn(' Java: ', javaID);
- WriteLn(' Python: ', pythonID);
- WriteLn(' C++: ', cppID);
- WriteLn(' Pascal: ', pascalID);
- WriteLn;
- // List all registered categories
- categories := TStringList.Create;
- try
- TSyntaxHighlighter.GetRegisteredCategories(categories);
- WriteLn('All registered categories (', categories.Count, ' total):');
- for i := 0 to categories.Count - 1 do
- WriteLn(' ', categories[i], ' = ', PtrInt(categories.Objects[i]));
- finally
- categories.Free;
- end;
- WriteLn;
- WriteLn('Category registration system working correctly!');
- end;
- begin
- TestMultipleCategories;
- WriteLn;
- WriteLn('Multiple categories test completed.');
- end.
|