This file is indexed.

/usr/include/codeblocks/editorcolourset.h is in codeblocks-dev 13.12+dfsg-4.

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
146
147
148
/*
 * This file is part of the Code::Blocks IDE and licensed under the GNU Lesser General Public License, version 3
 * http://www.gnu.org/licenses/lgpl-3.0.html
 */

#ifndef EDITORCOLORSET_H
#define EDITORCOLORSET_H

#include <wx/dynarray.h>
#include <wx/hashmap.h>
#include <wx/intl.h>
#include <wx/wxscintilla.h> // wxSCI_KEYWORDSET_MAX
#include "settings.h"
#include "globals.h" // HighlightLanguage

#include <set>

// forward decls
class cbEditor;
class cbStyledTextCtrl;

#define COLORSET_DEFAULT _T("default")

struct OptionColour
{
    wxString name;
    int      value;
    wxColour fore;
    wxColour back;
    bool     bold;
    bool     italics;
    bool     underlined;
    bool     isStyle;

    wxColour originalfore;
    wxColour originalback;
    bool     originalbold;
    bool     originalitalics;
    bool     originalunderlined;
    bool     originalisStyle;
};
WX_DEFINE_ARRAY(OptionColour*, OptionColours);

struct CommentToken {
    wxString lineComment;
    wxString doxygenLineComment;
    wxString streamCommentStart;
    wxString streamCommentEnd;
    wxString doxygenStreamCommentStart;
    wxString doxygenStreamCommentEnd;
    wxString boxCommentStart;
    wxString boxCommentMid;
    wxString boxCommentEnd;
};

struct OptionSet
{
    wxString m_Langs;
    OptionColours m_Colours;
    wxString m_Keywords[wxSCI_KEYWORDSET_MAX + 1]; // wxSCI_KEYWORDSET_MAX+1 keyword sets
    wxArrayString m_FileMasks;
    int m_Lexers;
    wxString m_SampleCode;
    int m_BreakLine;
    int m_DebugLine;
    int m_ErrorLine;

    wxString m_originalKeywords[wxSCI_KEYWORDSET_MAX + 1]; // wxSCI_KEYWORDSET_MAX+1 keyword sets
    wxArrayString m_originalFileMasks;

    CommentToken comment;
    bool m_CaseSensitive;
};
WX_DECLARE_STRING_HASH_MAP(OptionSet, OptionSetsMap);

class EditorColourSet
{
    public:
        EditorColourSet(const wxString& setName = COLORSET_DEFAULT);
        EditorColourSet(const EditorColourSet& other); // copy ctor
        ~EditorColourSet();

        HighlightLanguage AddHighlightLanguage(int lexer, const wxString& name);
        HighlightLanguage GetHighlightLanguage(int lexer); // from scintilla lexer (wxSCI_LEX_*)
        HighlightLanguage GetHighlightLanguage(const wxString& name);
        wxArrayString GetAllHighlightLanguages();

        void AddOption(HighlightLanguage lang,
                       const wxString& name,
                       int value,
                       wxColour fore = wxNullColour,
                       wxColour back = wxNullColour,
                       bool bold = false,
                       bool italics = false,
                       bool underlined = false,
                       bool isStyle = true);
        bool AddOption(HighlightLanguage lang, OptionColour* option, bool checkIfExists = true);

        OptionColour* GetOptionByName(HighlightLanguage lang, const wxString& name);
        OptionColour* GetOptionByValue(HighlightLanguage lang, int value);
        OptionColour* GetOptionByIndex(HighlightLanguage lang, int index);

        void UpdateOptionsWithSameName(HighlightLanguage lang, OptionColour* base);
        int GetOptionCount(HighlightLanguage lang);

        HighlightLanguage GetLanguageForFilename(const wxString& filename);
        wxString GetLanguageName(HighlightLanguage lang);
        wxString GetName(){ return m_Name; }
        void SetName(const wxString& name){ m_Name = name; }

        HighlightLanguage Apply(cbEditor* editor, HighlightLanguage lang=HL_AUTO);
        void Apply(HighlightLanguage lang, cbStyledTextCtrl* control, bool isC = false);
        void Save();
        void Reset(HighlightLanguage lang);

        wxString& GetKeywords(HighlightLanguage lang, int idx);
        void SetKeywords(HighlightLanguage lang, int idx, const wxString& keywords);

        const wxArrayString& GetFileMasks(HighlightLanguage lang);
        void SetFileMasks(HighlightLanguage lang, const wxString& masks, const wxString& = _(","));

        wxString GetSampleCode(HighlightLanguage lang, int* breakLine, int* debugLine, int* errorLine);
        void SetSampleCode(HighlightLanguage lang, const wxString& sample, int breakLine, int debugLine, int errorLine);

        CommentToken GetCommentToken(HighlightLanguage lang);
        void SetCommentToken(HighlightLanguage lang, CommentToken token);

        bool GetCaseSensitivity(HighlightLanguage lang);
        void SetCaseSensitivity(HighlightLanguage lang, bool CaseSensitive);
        void SetStringLexerStyles(HighlightLanguage lang, const std::set<int> &styles);
        void SetCommentLexerStyles(HighlightLanguage lang, const std::set<int> &styles);
        void SetCharacterLexerStyles(HighlightLanguage lang, const std::set<int> &styles);
        void SetPreprocessorLexerStyles(HighlightLanguage lang, const std::set<int> &styles);

    private:
        void DoApplyStyle(cbStyledTextCtrl* control, int value, OptionColour* option);
        void LoadAvailableSets();
        void Load();
        void ClearAllOptionColours();

        OptionColour* GetDefaultOption(HighlightLanguage lang);


        wxString m_Name;
        OptionSetsMap m_Sets;
};

#endif // EDITORCOLORSET_H