Represents a state during the highlighting (e.g., comment state, string state, etc.)
More...
#include <highlightstate.h>
Collaboration diagram for srchilite::HighlightState:
Public Member Functions
Copies all the elements of the highlight state, except for the id: a new id will be used.
More...
Substitutes the rule at the specified position.
More...
unsigned int getId () const
const std::string & getDefaultElement () const
void setDefaultElement (const std::string &e)
Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
More...
Tries to find the rule that matches best (and first): the first rule with the smallest prefix and longest matching sequence.
More...
Performs replacement of references in the rules of this state.
More...
bool getNeedsReferenceReplacement () const
void setNeedsReferenceReplacement (bool b=true)
Static Public Member Functions
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...
Private Attributes
the identifier of the state
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.)
the list of rules of this state
whether one of the contained rules has dynamic references to be replaced
In case this state is a copy of another state, in this field we store the original state.
Static Private Attributes
the global counter to assign unique state ids
Detailed Description
Represents a state during the highlighting (e.g., comment state, string state, etc.)
Constructor & Destructor Documentation
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
-
copy
Member Function Documentation
Adss a rule to this state.
- Parameters
-
rule the rule to add at the end of the list
static bool srchilite::HighlightState::betterThan
(
const
HighlightToken &
t1,
)
static
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
-
t1
t2
- Returns
bool srchilite::HighlightState::findBestMatch
(
const std::string &
s,
)
const
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,
)
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)
HighlightRulePtr srchilite::HighlightState::replaceRule
(
RuleList::size_type
index,
)
Substitutes the rule at the specified position.
The rule must exit at the specified position.
- Parameters
-
index
rule the new rule
- Returns
- the old rule
The documentation for this class was generated from the following file: