Code folding working. Not folding #ifdef for some reason.
This commit is contained in:
parent
1c287a912e
commit
db6f9d35c9
2 changed files with 44 additions and 59 deletions
45
src/editor.c
45
src/editor.c
|
@ -26,12 +26,6 @@
|
|||
#include "scintillaHeaders.h"
|
||||
|
||||
|
||||
typedef struct SyntaxHighlightingS {
|
||||
int style;
|
||||
int color;
|
||||
char *description;
|
||||
} SyntaxHighlightingT;
|
||||
|
||||
typedef struct EditorDataS {
|
||||
WindowDataT windowData;
|
||||
GtkWidget *boxForEditor;
|
||||
|
@ -206,25 +200,6 @@ void winEditorCreate(void) {
|
|||
NULL,
|
||||
NULL
|
||||
};
|
||||
SyntaxHighlightingT cpp[] = {
|
||||
{ 0, 0x000000, "White Space" },
|
||||
{ 1, 0x80807f,"Comment: /* */" },
|
||||
{ 2, 0x80807f,"Line Comment: //" },
|
||||
{ 3, 0x80807f,"Doc comment: block comments beginning with /** or /*!" },
|
||||
{ 4, 0x6897b9,"Number" },
|
||||
{ 5, 0xcc7832,"Keyword" },
|
||||
{ 6, 0x6a8759,"Double-quoted string" },
|
||||
{ 7, 0x6a8759,"Single-quoted string" },
|
||||
{ 9, 0x8f8b25,"Preprocessor" },
|
||||
{ 10, 0xffffff,"Operators" },
|
||||
{ 11, 0x94b5c6,"Identifiers" },
|
||||
{ 12, 0xff0000,"Error: End of line where string is not closed" },
|
||||
{ 15, 0x80807f,"Doc Comment Line: line comments beginning with /// or //!." },
|
||||
{ 25, 0x00ff00, "User defined literals" },
|
||||
{ 27, 0x0000ff, "Escape sequence" },
|
||||
{ 0, 0x000000, NULL }
|
||||
};
|
||||
int i;
|
||||
|
||||
// Set up instance data.
|
||||
self = NEW(EditorDataT);
|
||||
|
@ -272,15 +247,25 @@ void winEditorCreate(void) {
|
|||
SSM(SCI_SETCARETFORE, 0x00ffff, 0);
|
||||
SSM(SCI_STYLESETBACK, STYLE_LINENUMBER, 0x222222);
|
||||
|
||||
SSM(SCI_SETFOLDMARGINCOLOUR, 1, 0x222222);
|
||||
SSM(SCI_SETFOLDMARGINHICOLOUR, 1, 0x222222);
|
||||
SSM(SCI_SETMARGINTYPEN, MARGIN_SCRIPT_FOLD_INDEX, SC_MARGIN_SYMBOL);
|
||||
SSM(SCI_SETMARGINMASKN, MARGIN_SCRIPT_FOLD_INDEX, SC_MASK_FOLDERS);
|
||||
SSM(SCI_SETMARGINWIDTHN, MARGIN_SCRIPT_FOLD_INDEX, 20);
|
||||
SSM(SCI_SETMARGINSENSITIVEN, MARGIN_SCRIPT_FOLD_INDEX, 1);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPEN, SC_MARK_BOXMINUS);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDER, SC_MARK_BOXPLUS);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERSUB, SC_MARK_VLINE);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERTAIL, SC_MARK_LCORNER);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEREND, SC_MARK_BOXPLUSCONNECTED);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPENMID, SC_MARK_BOXMINUSCONNECTED);
|
||||
SSM(SCI_MARKERDEFINE, SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_TCORNER);
|
||||
SSM(SCI_SETFOLDFLAGS, SC_FOLDFLAG_LINEAFTER_CONTRACTED , 0);
|
||||
|
||||
// Add lexer for language support.
|
||||
self->pLexer = CreateLexer("cpp");
|
||||
SSM(SCI_SETILEXER, 0, (sptr_t)self->pLexer);
|
||||
|
||||
// For now, just CPP.
|
||||
for (i=0; cpp[i].description != NULL; i++) {
|
||||
SSM(SCI_STYLESETFORE, cpp[i].style, cpp[i].color);
|
||||
}
|
||||
|
||||
writeEditorConfig("cpp", self);
|
||||
loadEditorConfig("cpp", self);
|
||||
|
||||
|
|
|
@ -29,36 +29,36 @@ style 25 "literal" "User defined literals" fore 0xffb86c
|
|||
style 26 "comment taskmarker" "Task Marker" fore 0xffffff
|
||||
style 27 "literal string escapesequence" "Escape sequence" fore 0xffffff
|
||||
|
||||
style 64 "inactive default" "" fore 0xffffff
|
||||
style 65 "inactive comment" "" fore 0xffffff
|
||||
style 66 "inactive comment line" "" fore 0xffffff
|
||||
style 67 "inactive comment documentation" "" fore 0xffffff
|
||||
style 68 "inactive literal numeric" "" fore 0xffffff
|
||||
style 69 "inactive keyword" "" fore 0xffffff
|
||||
style 70 "inactive literal string" "" fore 0xffffff
|
||||
style 71 "inactive literal string character" "" fore 0xffffff
|
||||
style 72 "inactive literal uuid" "" fore 0xffffff
|
||||
style 73 "inactive preprocessor" "" fore 0xffffff
|
||||
style 74 "inactive operator" "" fore 0xffffff
|
||||
style 75 "inactive identifier" "" fore 0xffffff
|
||||
style 76 "inactive error literal string" "" fore 0xffffff
|
||||
style 77 "inactive literal string multiline raw" "" fore 0xffffff
|
||||
style 78 "inactive literal regex" "" fore 0xffffff
|
||||
style 79 "inactive comment documentation line" "" fore 0xffffff
|
||||
style 80 "inactive identifier" "" fore 0xffffff
|
||||
style 81 "inactive comment documentation keyword" "" fore 0xffffff
|
||||
style 82 "inactive error comment documentation keyword" "" fore 0xffffff
|
||||
style 83 "inactive identifier" "" fore 0xffffff
|
||||
style 84 "inactive literal string multiline raw" "" fore 0xffffff
|
||||
style 85 "inactive literal string multiline raw" "" fore 0xffffff
|
||||
style 86 "inactive literal string" "" fore 0xffffff
|
||||
style 87 "inactive comment preprocessor" "" fore 0xffffff
|
||||
style 88 "inactive comment preprocessor documentation" "" fore 0xffffff
|
||||
style 89 "inactive literal" "" fore 0xffffff
|
||||
style 90 "inactive comment taskmarker" "" fore 0xffffff
|
||||
style 91 "inactive literal string escapesequence" "" fore 0xffffff
|
||||
style 64 "inactive default" "" fore 0x444444
|
||||
style 65 "inactive comment" "" fore 0x444444
|
||||
style 66 "inactive comment line" "" fore 0x444444
|
||||
style 67 "inactive comment documentation" "" fore 0x444444
|
||||
style 68 "inactive literal numeric" "" fore 0x444444
|
||||
style 69 "inactive keyword" "" fore 0x444444
|
||||
style 70 "inactive literal string" "" fore 0x444444
|
||||
style 71 "inactive literal string character" "" fore 0x444444
|
||||
style 72 "inactive literal uuid" "" fore 0x444444
|
||||
style 73 "inactive preprocessor" "" fore 0x444444
|
||||
style 74 "inactive operator" "" fore 0x444444
|
||||
style 75 "inactive identifier" "" fore 0x444444
|
||||
style 76 "inactive error literal string" "" fore 0x444444
|
||||
style 77 "inactive literal string multiline raw" "" fore 0x444444
|
||||
style 78 "inactive literal regex" "" fore 0x444444
|
||||
style 79 "inactive comment documentation line" "" fore 0x444444
|
||||
style 80 "inactive identifier" "" fore 0x444444
|
||||
style 81 "inactive comment documentation keyword" "" fore 0x444444
|
||||
style 82 "inactive error comment documentation keyword" "" fore 0x444444
|
||||
style 83 "inactive identifier" "" fore 0x444444
|
||||
style 84 "inactive literal string multiline raw" "" fore 0x444444
|
||||
style 85 "inactive literal string multiline raw" "" fore 0x444444
|
||||
style 86 "inactive literal string" "" fore 0x444444
|
||||
style 87 "inactive comment preprocessor" "" fore 0x444444
|
||||
style 88 "inactive comment preprocessor documentation" "" fore 0x444444
|
||||
style 89 "inactive literal" "" fore 0x444444
|
||||
style 90 "inactive comment taskmarker" "" fore 0x444444
|
||||
style 91 "inactive literal string escapesequence" "" fore 0x444444
|
||||
|
||||
property boolean styling.within.preprocessor "For C++ code, determines whether all preprocessor code is styled in the preprocessor style (0, the default) or only from the initial # to the end of the command word(1)." 0
|
||||
property boolean styling.within.preprocessor "For C++ code, determines whether all preprocessor code is styled in the preprocessor style (0, the default) or only from the initial # to the end of the command word(1)." 1
|
||||
property boolean lexer.cpp.allow.dollars "Set to 0 to disallow the '$' character in identifiers with the cpp lexer." 0
|
||||
property boolean lexer.cpp.track.preprocessor "Set to 1 to interpret #if/#else/#endif to grey out code that is not active." 1
|
||||
property boolean lexer.cpp.update.preprocessor "Set to 1 to update preprocessor definitions when #define found." 1
|
||||
|
|
Loading…
Add table
Reference in a new issue