File: EclipseDiffThemeImporter.cpp

package info (click to toggle)
codelite 10.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 71,364 kB
  • sloc: cpp: 415,397; ansic: 18,277; php: 9,547; lex: 4,181; yacc: 2,820; python: 2,294; sh: 383; makefile: 51; xml: 13
file content (42 lines) | stat: -rw-r--r-- 1,624 bytes parent folder | download | duplicates (3)
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
#include "EclipseDiffThemeImporter.h"
#include <wx/colour.h>

EclipseDiffThemeImporter::EclipseDiffThemeImporter() { SetFileExtensions("*.diff;*.patch;Diff;*.Diff"); }

EclipseDiffThemeImporter::~EclipseDiffThemeImporter() {}

LexerConf::Ptr_t EclipseDiffThemeImporter::Import(const wxFileName& eclipseXmlFile)
{
    LexerConf::Ptr_t lexer = InitializeImport(eclipseXmlFile, "diff", 16);
    CHECK_PTR_RET_NULL(lexer);

    //
    // Add lexer specific code here
    //
    AddProperty(lexer, "0", "Default", m_foreground.colour, m_background.colour);
    AddProperty(lexer, "1", "Comment", m_singleLineComment.colour, m_background.colour);
    AddProperty(lexer, "2", "Command", m_klass.colour, m_background.colour);
    AddProperty(lexer, "3", "Header", m_keyword.colour, m_background.colour);
    AddProperty(lexer, "4", "Position", m_keyword.colour, m_background.colour);

    // Use pink and forest green
    if(IsDarkTheme()) {
        AddProperty(lexer, "5", "Line Deleted", "#FF8080", m_background.colour, false, false, true);
        AddProperty(lexer, "6", "Line Added", "#80FF80", m_background.colour, false, false, true);
    } else {
        AddProperty(lexer, "5", "Line Deleted", "RED", "PINK", false, false, true);
        AddProperty(lexer,
                    "6",
                    "Line Added",
                    "DARK GREEN",
                    wxColour("DARK GREEN").ChangeLightness(170).GetAsString(wxC2S_HTML_SYNTAX),
                    false,
                    false,
                    true);
    }
    //
    // Finalize the importer
    //
    FinalizeImport(lexer);
    return lexer;
}