diff options
author | 2008-06-15 16:25:18 -0400 | |
---|---|---|
committer | 2008-06-15 16:25:18 -0400 | |
commit | e47fe640c0cd6826fa2b46d3b3fad7268766a093 (patch) | |
tree | efb9effa3a5ba999dcc9354df8b3bc963111001f | |
parent | d741a151010a14da3fec3ba2a7279f46125d8db2 (diff) | |
download | textadept-e47fe640c0cd6826fa2b46d3b3fad7268766a093.tar.gz textadept-e47fe640c0cd6826fa2b46d3b3fad7268766a093.zip |
Merged properties.h into textadept.h and textadept.c.
-rw-r--r-- | src/properties.h | 102 | ||||
-rw-r--r-- | src/textadept.c | 97 | ||||
-rw-r--r-- | src/textadept.h | 2 |
3 files changed, 98 insertions, 103 deletions
diff --git a/src/properties.h b/src/properties.h deleted file mode 100644 index 1d7d8b50..00000000 --- a/src/properties.h +++ /dev/null @@ -1,102 +0,0 @@ -// Copyright 2007-2008 Mitchell mitchell<att>caladbolg.net. See LICENSE. - -#ifndef PROPERTIES_H -#define PROPERTIES_H - -#include "textadept.h" - -static long SSS(ScintillaObject *sci, unsigned int msg, const char *wParam=0, - const char *lParam=0) { - return scintilla_send_message(sci, msg, reinterpret_cast<long>(wParam), - reinterpret_cast<long>(lParam)); -} - -#define sp(k, v) SSS(sci, SCI_SETPROPERTY, k, v) -#define color(r, g, b) r | (g << 8) | (b << 16) - -/** - * Sets the default properties for a Scintilla window. - * @param sci The Scintilla window to set default properties for. - */ -void set_default_editor_properties(ScintillaObject *sci) { - sp("textadept.home", textadept_home); - sp("lexer.lua.home", "/usr/share/textadept/lexers/"); - sp("lexer.lua.script", "/usr/share/textadept/lexers/lexer.lua"); - - // caret - SS(sci, SCI_SETCARETFORE, color(0xAA, 0xAA, 0xAA)); - SS(sci, SCI_SETCARETLINEVISIBLE, true); - SS(sci, SCI_SETCARETLINEBACK, color(0x44, 0x44, 0x44)); - SS(sci, SCI_SETXCARETPOLICY, CARET_SLOP, 20); - SS(sci, SCI_SETYCARETPOLICY, CARET_SLOP | CARET_STRICT | CARET_EVEN, 1); - SS(sci, SCI_SETCARETSTYLE, 2); - SS(sci, SCI_SETCARETPERIOD, 0); - - // selection - SS(sci, SCI_SETSELFORE, 1, color(0x33, 0x33, 0x33)); - SS(sci, SCI_SETSELBACK, 1, color(0x99, 0x99, 0x99)); - - SS(sci, SCI_SETBUFFEREDDRAW, 1); - SS(sci, SCI_SETTWOPHASEDRAW, 0); - SS(sci, SCI_CALLTIPUSESTYLE, 32); - SS(sci, SCI_USEPOPUP, 0); - SS(sci, SCI_SETFOLDFLAGS, 16); - SS(sci, SCI_SETMODEVENTMASK, SC_MOD_CHANGEFOLD); - - SS(sci, SCI_SETMARGINWIDTHN, 0, 4 + 2 * // line number margin - SS(sci, SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<long>("9"))); - - SS(sci, SCI_SETMARGINWIDTHN, 1, 0); // marker margin invisible - - // fold margin - SS(sci, SCI_SETFOLDMARGINCOLOUR, 1, color(0xAA, 0xAA, 0xAA)); - SS(sci, SCI_SETFOLDMARGINHICOLOUR, 1, color(0xAA, 0xAA, 0xAA)); - SS(sci, SCI_SETMARGINTYPEN, 2, SC_MARGIN_SYMBOL); - SS(sci, SCI_SETMARGINWIDTHN, 2, 10); - SS(sci, SCI_SETMARGINMASKN, 2, SC_MASK_FOLDERS); - SS(sci, SCI_SETMARGINSENSITIVEN, 2, 1); - - // fold margin markers - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPEN, SC_MARK_ARROWDOWN); - SS(sci, SCI_MARKERSETFORE, SC_MARKNUM_FOLDEROPEN, 0); - SS(sci, SCI_MARKERSETBACK, SC_MARKNUM_FOLDEROPEN, 0); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDER, SC_MARK_ARROW); - SS(sci, SCI_MARKERSETFORE, SC_MARKNUM_FOLDER, 0); - SS(sci, SCI_MARKERSETBACK, SC_MARKNUM_FOLDER, 0); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY); - SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY); - - SS(sci, SCI_SETSCROLLWIDTH, 2000); - SS(sci, SCI_SETHSCROLLBAR, 1); - SS(sci, SCI_SETENDATLASTLINE, 1); - SS(sci, SCI_SETCARETSTICKY, 0); -} - -/** - * Sets the default properties for a Scintilla document. - * @param sci The Scintilla window containing the document to set default - * properties for. - */ -void set_default_buffer_properties(ScintillaObject *sci) { - sp("fold", "1"); - sp("fold.by.indentation", "1"); - - SS(sci, SCI_SETLEXER, SCLEX_LPEG); - SS(sci, SCI_SETLEXERLANGUAGE, 0, reinterpret_cast<long>("container")); - - // Tabs and indentation - SS(sci, SCI_SETTABWIDTH, 2); - SS(sci, SCI_SETUSETABS, 0); - SS(sci, SCI_SETINDENT, 2); - SS(sci, SCI_SETTABINDENTS, 1); - SS(sci, SCI_SETBACKSPACEUNINDENTS, 1); - SS(sci, SCI_SETINDENTATIONGUIDES, 1); - - SS(sci, SCI_SETEOLMODE, SC_EOL_LF); - SS(sci, SCI_AUTOCSETCHOOSESINGLE, 1); -} - -#endif diff --git a/src/textadept.c b/src/textadept.c index 3886baec..084d616a 100644 --- a/src/textadept.c +++ b/src/textadept.c @@ -1,7 +1,6 @@ // Copyright 2007-2008 Mitchell mitchell<att>caladbolg.net. See LICENSE. #include "textadept.h" -#include "properties.h" #define signal(o, s, c) g_signal_connect(G_OBJECT(o), s, G_CALLBACK(c), 0) @@ -464,6 +463,102 @@ static bool w_exit(GtkWidget*, GdkEventAny*, gpointer) { return false; } +// Properties + +static long SSS(ScintillaObject *sci, unsigned int msg, const char *wParam=0, + const char *lParam=0) { + return scintilla_send_message(sci, msg, reinterpret_cast<long>(wParam), + reinterpret_cast<long>(lParam)); +} + +#define sp(k, v) SSS(sci, SCI_SETPROPERTY, k, v) +#define color(r, g, b) r | (g << 8) | (b << 16) + +/** + * Sets the default properties for a Scintilla window. + * @param sci The Scintilla window to set default properties for. + */ +void set_default_editor_properties(ScintillaObject *sci) { + sp("textadept.home", textadept_home); + sp("lexer.lua.home", "/usr/share/textadept/lexers/"); + sp("lexer.lua.script", "/usr/share/textadept/lexers/lexer.lua"); + + // caret + SS(sci, SCI_SETCARETFORE, color(0xAA, 0xAA, 0xAA)); + SS(sci, SCI_SETCARETLINEVISIBLE, true); + SS(sci, SCI_SETCARETLINEBACK, color(0x44, 0x44, 0x44)); + SS(sci, SCI_SETXCARETPOLICY, CARET_SLOP, 20); + SS(sci, SCI_SETYCARETPOLICY, CARET_SLOP | CARET_STRICT | CARET_EVEN, 1); + SS(sci, SCI_SETCARETSTYLE, 2); + SS(sci, SCI_SETCARETPERIOD, 0); + + // selection + SS(sci, SCI_SETSELFORE, 1, color(0x33, 0x33, 0x33)); + SS(sci, SCI_SETSELBACK, 1, color(0x99, 0x99, 0x99)); + + SS(sci, SCI_SETBUFFEREDDRAW, 1); + SS(sci, SCI_SETTWOPHASEDRAW, 0); + SS(sci, SCI_CALLTIPUSESTYLE, 32); + SS(sci, SCI_USEPOPUP, 0); + SS(sci, SCI_SETFOLDFLAGS, 16); + SS(sci, SCI_SETMODEVENTMASK, SC_MOD_CHANGEFOLD); + + SS(sci, SCI_SETMARGINWIDTHN, 0, 4 + 2 * // line number margin + SS(sci, SCI_TEXTWIDTH, STYLE_LINENUMBER, reinterpret_cast<long>("9"))); + + SS(sci, SCI_SETMARGINWIDTHN, 1, 0); // marker margin invisible + + // fold margin + SS(sci, SCI_SETFOLDMARGINCOLOUR, 1, color(0xAA, 0xAA, 0xAA)); + SS(sci, SCI_SETFOLDMARGINHICOLOUR, 1, color(0xAA, 0xAA, 0xAA)); + SS(sci, SCI_SETMARGINTYPEN, 2, SC_MARGIN_SYMBOL); + SS(sci, SCI_SETMARGINWIDTHN, 2, 10); + SS(sci, SCI_SETMARGINMASKN, 2, SC_MASK_FOLDERS); + SS(sci, SCI_SETMARGINSENSITIVEN, 2, 1); + + // fold margin markers + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPEN, SC_MARK_ARROWDOWN); + SS(sci, SCI_MARKERSETFORE, SC_MARKNUM_FOLDEROPEN, 0); + SS(sci, SCI_MARKERSETBACK, SC_MARKNUM_FOLDEROPEN, 0); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDER, SC_MARK_ARROW); + SS(sci, SCI_MARKERSETFORE, SC_MARKNUM_FOLDER, 0); + SS(sci, SCI_MARKERSETBACK, SC_MARKNUM_FOLDER, 0); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERSUB, SC_MARK_EMPTY); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERTAIL, SC_MARK_EMPTY); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEREND, SC_MARK_EMPTY); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDEROPENMID, SC_MARK_EMPTY); + SS(sci, SCI_MARKERDEFINE, SC_MARKNUM_FOLDERMIDTAIL, SC_MARK_EMPTY); + + SS(sci, SCI_SETSCROLLWIDTH, 2000); + SS(sci, SCI_SETHSCROLLBAR, 1); + SS(sci, SCI_SETENDATLASTLINE, 1); + SS(sci, SCI_SETCARETSTICKY, 0); +} + +/** + * Sets the default properties for a Scintilla document. + * @param sci The Scintilla window containing the document to set default + * properties for. + */ +void set_default_buffer_properties(ScintillaObject *sci) { + sp("fold", "1"); + sp("fold.by.indentation", "1"); + + SS(sci, SCI_SETLEXER, SCLEX_LPEG); + SS(sci, SCI_SETLEXERLANGUAGE, 0, reinterpret_cast<long>("container")); + + // Tabs and indentation + SS(sci, SCI_SETTABWIDTH, 2); + SS(sci, SCI_SETUSETABS, 0); + SS(sci, SCI_SETINDENT, 2); + SS(sci, SCI_SETTABINDENTS, 1); + SS(sci, SCI_SETBACKSPACEUNINDENTS, 1); + SS(sci, SCI_SETINDENTATIONGUIDES, 1); + + SS(sci, SCI_SETEOLMODE, SC_EOL_LF); + SS(sci, SCI_AUTOCSETCHOOSESINGLE, 1); +} + // Project Manager /** diff --git a/src/textadept.h b/src/textadept.h index ac845e01..70f83447 100644 --- a/src/textadept.h +++ b/src/textadept.h @@ -46,6 +46,8 @@ void set_menubar(GtkWidget *menubar); void set_statusbar_text(const char *text); void set_docstatusbar_text(const char *text); void command_toggle_focus(); +void set_default_editor_properties(ScintillaObject *sci); +void set_default_buffer_properties(ScintillaObject *sci); // lua_interface.c void l_init(int argc, char **argv, bool reinit); |