/usr/include/srchilite/textstyleformatter.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 92 93 94 95 96 | /**
* C++ class: textstyleformatter.h
*
* Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2005-2008
* Copyright: See COPYING file that comes with this distribution
*/
#ifndef _TEXTSTYLEFORMATTER_H_
#define _TEXTSTYLEFORMATTER_H_
#include "textstyle.h"
#include "formatter.h"
namespace srchilite {
class BufferedOutput;
class PreFormatter;
class CTagsFormatter;
/**
* An implementation of Formatter, based on source-highlight TextStyle
*/
class TextStyleFormatter : public Formatter {
private:
/// the TextStyle for formatting
TextStyle textstyle;
/// where to output the formatting
BufferedOutput *output;
/// the possible pre formatter for text
PreFormatter *preFormatter;
/// the possible formatter for ctags (references and anchors)
CTagsFormatter *ctagsFormatter;
public:
TextStyleFormatter(const TextStyle &style, BufferedOutput *o = 0);
TextStyleFormatter(const std::string &repr = "$text",
BufferedOutput *o = 0);
virtual ~TextStyleFormatter() {
}
virtual void
format(const std::string &s, const FormatterParams *params = 0);
BufferedOutput *getBufferedOutput() const {
return output;
}
CTagsFormatter *getCTagsFormatter() const {
return ctagsFormatter;
}
void setBufferedOutput(BufferedOutput *o) {
output = o;
}
void setPreFormatter(PreFormatter *p) {
preFormatter = p;
}
void setCTagsFormatter(CTagsFormatter *f) {
ctagsFormatter = f;
}
/**
* @return a string representation of this formatter
*/
const std::string &toString() const {
return textstyle.toString();
}
protected:
/**
* Actually performs formatting (no reference formatting); this is used
* internally
* @param s the string to format.
* @param preformat whether to perform preformatting
*/
void doFormat(const std::string &s, bool preformat = true);
/**
* Performs reference formatting (by relying on the CTagsFormatter)
* @param s the string to format.
* @param params additional parameters
* @return true if an anchor or reference was found and formatted
*/
bool formatReferences(const std::string &s, const FormatterParams *params);
};
}
#endif /* _TEXTSTYLEFORMATTER_H_ */
|