/usr/include/codeblocks/editorcolourset.h is in codeblocks-dev 16.01+dfsg-2.1.
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 DLLIMPORT 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
|