Represents a state during the highlighting (e.g., comment state, string state, etc.)
More...
Public Member Functions |
| | HighlightState (const std::string &e="normal") |
| | HighlightState (const HighlightState ©) |
| | Copies all the elements of the highlight state, except for the id: a new id will be used.
|
| void | addRule (HighlightRulePtr rule) |
| | Adss a rule to this state.
|
| HighlightRulePtr | replaceRule (RuleList::size_type index, HighlightRulePtr rule) |
| | Substitutes the rule at the specified position.
|
|
unsigned int | getId () const |
|
const RuleList & | getRuleList () const |
|
const std::string & | getDefaultElement () const |
|
void | setDefaultElement (const std::string &e) |
| bool | findBestMatch (const std::string &s, HighlightToken &token, const MatchingParameters ¶ms) const |
| | Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
|
| bool | findBestMatch (std::string::const_iterator start, std::string::const_iterator end, HighlightToken &token, const MatchingParameters ¶ms) const |
| | Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
|
| void | replaceReferences (const ReplacementList &rep) |
| | Performs replacement of references in the rules of this state.
|
|
bool | getNeedsReferenceReplacement () const |
|
void | setNeedsReferenceReplacement (bool b=true) |
|
HighlightStatePtr | getOriginalState () const |
|
void | setOriginalState (HighlightStatePtr orig) |
Static Public Member Functions |
| static bool | betterThan (const HighlightToken &t1, const HighlightToken &t2) |
| | Whether t1 is better than t2: t1 has a non-longer prefix and a longer matching string (this makes sense only if a string was matched, and in fact this should be used only after having matched something)
|
Private Attributes |
|
const unsigned int | id |
| | the identifier of the state
|
|
std::string | defaultElement |
| | the name of the element for strings when no rule matches (default: "normal") for states this should always be "normal" while for environments it should be the same element that represents the new state (e.g., "comment", "string", etc.)
|
|
RuleList | ruleList |
| | the list of rules of this state
|
|
bool | needsReferenceReplacement |
| | whether one of the contained rules has dynamic references to be replaced
|
|
HighlightStatePtr | originalState |
| | In case this state is a copy of another state, in this field we store the original state.
|
Static Private Attributes |
|
static unsigned int | global_id |
| | the global counter to assign unique state ids
|
Represents a state during the highlighting (e.g., comment state, string state, etc.)