1#include "encodedTokenAttributes.h"
8namespace EncodedTokenAttributesHelper {
11 std::bitset<32> bits(encodedTokenAttributes);
12 return bits.to_string();
16 int languageId = getLanguageId(encodedTokenAttributes);
18 int fontStyle = getFontStyle(encodedTokenAttributes);
19 int foreground = getForeground(encodedTokenAttributes);
20 int background = getBackground(encodedTokenAttributes);
24 return (encodedTokenAttributes & EncodedTokenDataConsts::LANGUAGEID_MASK) >>
25 EncodedTokenDataConsts::LANGUAGEID_OFFSET;
30 (encodedTokenAttributes & EncodedTokenDataConsts::TOKEN_TYPE_MASK) >>
31 EncodedTokenDataConsts::TOKEN_TYPE_OFFSET
36 return (encodedTokenAttributes & EncodedTokenDataConsts::BALANCED_BRACKETS_MASK) != 0;
40 return (encodedTokenAttributes & EncodedTokenDataConsts::FONT_STYLE_MASK) >>
41 EncodedTokenDataConsts::FONT_STYLE_OFFSET;
45 return (encodedTokenAttributes & EncodedTokenDataConsts::FOREGROUND_MASK) >>
46 EncodedTokenDataConsts::FOREGROUND_OFFSET;
50 return (
static_cast<uint32_t
>(encodedTokenAttributes) &
51 static_cast<uint32_t
>(EncodedTokenDataConsts::BACKGROUND_MASK)) >>
52 EncodedTokenDataConsts::BACKGROUND_OFFSET;
59 bool* containsBalancedBracketsParam,
64 int _languageId = getLanguageId(encodedTokenAttributes);
65 int _tokenType =
static_cast<int>(getTokenType(encodedTokenAttributes));
66 int _containsBalancedBracketsBit = containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;
67 int _fontStyle = getFontStyle(encodedTokenAttributes);
68 int _foreground = getForeground(encodedTokenAttributes);
69 int _background = getBackground(encodedTokenAttributes);
71 if (languageId != 0) {
72 _languageId = languageId;
75 _tokenType =
static_cast<int>(fromOptionalTokenType(tokenType));
77 if (containsBalancedBracketsParam !=
nullptr) {
78 _containsBalancedBracketsBit = *containsBalancedBracketsParam ? 1 : 0;
81 _fontStyle = fontStyle;
83 if (foreground != 0) {
84 _foreground = foreground;
86 if (background != 0) {
87 _background = background;
91 ((_languageId << EncodedTokenDataConsts::LANGUAGEID_OFFSET) |
92 (_tokenType << EncodedTokenDataConsts::TOKEN_TYPE_OFFSET) |
93 (_containsBalancedBracketsBit << EncodedTokenDataConsts::BALANCED_BRACKETS_OFFSET) |
94 (_fontStyle << EncodedTokenDataConsts::FONT_STYLE_OFFSET) |
95 (_foreground << EncodedTokenDataConsts::FOREGROUND_OFFSET) |
96 (_background << EncodedTokenDataConsts::BACKGROUND_OFFSET))
@ NotSet
Styling not specified (inherit or use default)
StandardTokenType
Standard TextMate token type for syntax classification.
OptionalStandardTokenType
Standard token type with optional (unknown) state.
@ NotSet
Type not determined or not applicable.
int32_t EncodedTokenAttributes
Compact 32-bit encoding of a token's attributes.