Represents a state during the highlighting (e.g., comment state, string state, etc.)
More...
|
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) More...
|
|
|
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 unsigned int | global_id = 1 |
| the global counter to assign unique state ids
|
|
Represents a state during the highlighting (e.g., comment state, string state, etc.)
srchilite::HighlightState::HighlightState |
( |
const std::string & |
e = "normal" | ) |
|
- Parameters
-
e | the element for strings when no rule matches (default: "normal") |
srchilite::HighlightState::HighlightState |
( |
const HighlightState & |
copy | ) |
|
Copies all the elements of the highlight state, except for the id: a new id will be used.
- Parameters
-
Adss a rule to this state.
- Parameters
-
rule | the rule to add at the end of the list |
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)
- Parameters
-
- Returns
Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
- Parameters
-
s | the string for trying to match the rule |
token | where results will be inserted, if the rule matched |
params | additional arguments for the matching |
- Returns
- whether a matching rule was found
bool srchilite::HighlightState::findBestMatch |
( |
std::string::const_iterator |
start, |
|
|
std::string::const_iterator |
end, |
|
|
HighlightToken & |
token, |
|
|
const MatchingParameters & |
params |
|
) |
| const |
Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
- Parameters
-
start | the beginning of the string for trying to match the rule |
end | the beginning of the string for trying to match the rule |
token | where results will be inserted, if the rule matched |
params | additional arguments for the matching |
- Returns
- whether a matching rule was found
void srchilite::HighlightState::replaceReferences |
( |
const ReplacementList & |
rep | ) |
|
Performs replacement of references in the rules of this state.
For each rule that needs replacement, it creates a copy of the rule.
- Parameters
-
the | list of values for the replacement; the first element is the value for replacing the first dynamic back reference, and so on. (it should contain 9 possibly empty elements) |
Substitutes the rule at the specified position.
The rule must exit at the specified position.
- Parameters
-
- Returns
- the old rule
The documentation for this class was generated from the following files:
- /home/bettini/work/source-highlight/src-highlite/lib/srchilite/highlightstatebuilder.cpp
- /home/bettini/work/source-highlight/src-highlite/lib/srchilite/highlightstate.cpp