/usr/include/srchilite/highlighttoken.h is in libsource-highlight-dev 3.1.6-2ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | //
// Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2004-2008
//
// Copyright: See COPYING file that comes with this distribution
//
#ifndef HIGHLIGHTTOKEN_H_
#define HIGHLIGHTTOKEN_H_
#include <string>
#include <list>
#include <vector>
#include <algorithm>
namespace srchilite {
class HighlightRule;
/**
* The matched element information by a rule. Each element of the collection is:
* first = the element name, second = the actual program string
*/
typedef std::list<std::pair<std::string, std::string> > MatchedElements;
/**
* The matched subexpressions (if the original rule had subexpressions)
*/
typedef std::vector<std::string> MatchedSubExps;
/**
* Token containing information for performing the highlight
*/
struct HighlightToken {
/// the possible prefix (part before the matched string)
std::string prefix;
/// true if the prefix is empty or contains only spaces
bool prefixOnlySpaces;
/// the possible suffix (part after the matched string)
std::string suffix;
/// the matched elements information
MatchedElements matched;
/** the size of the whole matched sequence (this is computed automatically
when matched elements are set or added) */
unsigned int matchedSize;
/**
* The matched subexpressions (in case the rule had subexpressions)
*/
MatchedSubExps matchedSubExps;
/// the matching rule
const HighlightRule *rule;
HighlightToken(const HighlightRule *_rule = 0);
HighlightToken(const std::string &elem, const std::string &matched,
const std::string &_prefix, const HighlightRule *_rule = 0);
~HighlightToken();
/**
* Copy from the passed toke
* @param token
*/
void copyFrom(const HighlightToken &token) {
prefix = token.prefix;
suffix = token.suffix;
matched = token.matched;
matchedSize = token.matchedSize;
matchedSubExps = token.matchedSubExps;
rule = token.rule;
}
/**
* Resets the matched related fields (i.e., matched, matchedSize)
*/
void clearMatched();
/**
* Adds information about a matched element
* @param elem the element name
* @param s the matched string
*/
void addMatched(const std::string &elem, const std::string &s);
};
}
#endif /*HIGHLIGHTTOKEN_H_*/
|