This file is indexed.

/usr/include/srchilite/sourcefilehighlighter.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
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//
// C++ Interface: SourceFileHighlighter
//
// Description:
//
//
// Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2008
//
// Copyright: See COPYING file that comes with this distribution
//
//

#ifndef SOURCEFILEHIGHLIGHTER_H_
#define SOURCEFILEHIGHLIGHTER_H_

#include <string>
#include <istream>

namespace srchilite {

class SourceHighlighter;
class BufferedOutput;
class PreFormatter;
class LineNumGenerator;
class LineRanges;
class RegexRanges;
class Formatter;

/// debugging policy
enum FileHighlighterDebug {
    NO_DEBUG = 0, DEBUG, DEBUG_INTERACTIVE
};

/**
 * Highlights the contents of a file relying on a SourceHighlighter
 */
class SourceFileHighlighter {
    /// the name of the file to highlight
    const std::string fileName;

    /// the initial regexp state
    SourceHighlighter *sourceHighlighter;

    /// the output object
    BufferedOutput *output;

    /// debugging policy
    FileHighlighterDebug debugPolicy;

    /// the preformatter for characters, e.g., for \n
    PreFormatter *preformatter;

    /// for generation of line numbers (if not null)
    LineNumGenerator *lineNumGenerator;

    /// if not null, it detects whether a line is in the stored ranges
    LineRanges *lineRanges;

    /// if not null, it detects whether a line is in the stored ranges
    RegexRanges *regexRanges;

    /// the formatter for possible context lines
    Formatter *contextFormatter;

    /// a prefix to be generated in front of each formatted code line
    std::string linePrefix;

    /// if specified, a string to be printed between two ranges
    std::string rangeSeparator;

public:
    /**
     * @param file the name of the file to highlight;
     * if the filename is empty then we will process the standard input
     * @param sourceHighlighter the highlighter to highlight paragraphs
     * @param output the output object used to write
     */
    SourceFileHighlighter(const std::string &file,
            SourceHighlighter *sourceHighlighter, BufferedOutput *output);

    void setDebugPolicy(FileHighlighterDebug p) {
        debugPolicy = p;
    }

    void setPreformatter(PreFormatter *pf) {
        preformatter = pf;
    }

    void setContextFormatter(Formatter *cf) {
        contextFormatter = cf;
    }

    void setLineNumGenerator(LineNumGenerator *lG) {
        lineNumGenerator = lG;
    }

    void setLinePrefix(const std::string &prefix) {
        linePrefix = prefix;
    }

    /**
     * The range separator will be automatically preformatted to deal with
     * the specific output format.
     *
     * @param rangeSep
     */
    void setRangeSeparator(const std::string &rangeSep);

    const LineRanges *getLineRanges() const {
        return lineRanges;
    }

    void setLineRanges(LineRanges *lr) {
        lineRanges = lr;
    }

    void setRegexRanges(RegexRanges *rr) {
        regexRanges = rr;
    }

    /**
     * Performs the highlighting; Once the highlighting is finished, this
     * object can be re-used.
     */
    void highlight();

    /**
     * Performs the highlighting of the contents of the given input stream;
     * Once the highlighting is finished, this object can be re-used.
     * @param is
     */
    void highlight(std::istream &is);

    /**
     * Performs the highlighting of the contents of the given string;
     * Once the highlighting is finished, this object can be re-used.
     * @param is
     */
    void highlight(const std::string &is);

};

}

#endif /*SOURCEFILEHIGHLIGHTER_H_*/