aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2008-06-15 16:25:18 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2008-06-15 16:25:18 -0400
commite47fe640c0cd6826fa2b46d3b3fad7268766a093 (patch)
treeefb9effa3a5ba999dcc9354df8b3bc963111001f
parentd741a151010a14da3fec3ba2a7279f46125d8db2 (diff)
downloadtextadept-e47fe640c0cd6826fa2b46d3b3fad7268766a093.tar.gz
textadept-e47fe640c0cd6826fa2b46d3b3fad7268766a093.zip
Merged properties.h into textadept.h and textadept.c.
-rw-r--r--src/properties.h102
-rw-r--r--src/textadept.c97
-rw-r--r--src/textadept.h2
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);