2 * Copyright 2014, Rene Gollent, rene@gollent.com.
3 * Distributed under the terms of the MIT License.
5 #ifndef C_LANGUAGE_FAMILY_SYNTAX_HIGHLIGHT_INFO_H
6 #define C_LANGUAGE_FAMILY_SYNTAX_HIGHLIGHT_INFO_H
9 #include "SyntaxHighlighter.h"
11 #include <ObjectList.h>
19 class TeamTypeInformation
;
22 class CLanguageFamilySyntaxHighlightInfo
: public SyntaxHighlightInfo
{
24 CLanguageFamilySyntaxHighlightInfo(
25 LineDataSource
* source
,
26 CLanguage::Tokenizer
* tokenizer
,
27 TeamTypeInformation
* info
);
28 virtual ~CLanguageFamilySyntaxHighlightInfo();
30 virtual int32
GetLineHighlightRanges(int32 line
,
32 syntax_highlight_type
* _types
,
37 typedef BObjectList
<LineInfo
> LineInfoList
;
41 status_t
_ParseLines();
42 status_t
_ParseLine(int32 line
,
43 syntax_highlight_type
& _lastType
,
45 syntax_highlight_type
_MapTokenToSyntaxType(
46 const CLanguage::Token
& token
);
48 LineDataSource
* fHighlightSource
;
49 CLanguage::Tokenizer
* fTokenizer
;
50 TeamTypeInformation
* fTypeInfo
;
51 LineInfoList fLineInfos
;
55 #endif // C_LANGUAGE_FAMILY_SYNTAX_HIGHLIGHT_INFO_H