SF.net SVN: geany:[4521] trunk
frlan at users.sourceforge.net
frlan at xxxxx
Tue Jan 12 18:44:38 UTC 2010
Revision: 4521
http://geany.svn.sourceforge.net/geany/?rev=4521&view=rev
Author: frlan
Date: 2010-01-12 18:44:38 +0000 (Tue, 12 Jan 2010)
Log Message:
-----------
Add editor_insert_text_block() to plugin API
Modified Paths:
--------------
trunk/ChangeLog
trunk/plugins/geanyfunctions.h
trunk/src/editor.c
trunk/src/editor.h
trunk/src/plugindata.h
trunk/src/plugins.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/ChangeLog 2010-01-12 18:44:38 UTC (rev 4521)
@@ -1,3 +1,10 @@
+2010-01-11 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
+
+ * plugins/geanyfunctions.h, src/editor.c, src/editor.h,
+ src/plugindata.h, src/plugins.c:
+ Add editor_insert_text_block() to plugin API.
+
+
2010-01-01 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
* *.*:
Modified: trunk/plugins/geanyfunctions.h
===================================================================
--- trunk/plugins/geanyfunctions.h 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/plugins/geanyfunctions.h 2010-01-12 18:44:38 UTC (rev 4521)
@@ -86,6 +86,8 @@
geany_functions->p_editor->get_eol_char_len
#define editor_get_eol_char \
geany_functions->p_editor->get_eol_char
+#define editor_insert_text_block \
+ geany_functions->p_editor->insert_text_block
#define scintilla_send_message \
geany_functions->p_scintilla->send_message
#define scintilla_new \
Modified: trunk/src/editor.c
===================================================================
--- trunk/src/editor.c 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/src/editor.c 2010-01-12 18:44:38 UTC (rev 4521)
@@ -2170,9 +2170,11 @@
sci_set_current_position(sci, pos, FALSE);
}
-
-/* Insert text, replacing \t tab chars with the correct indent width, and \n newline
+/* TODO: Fix \\t inside comment*/
+/** Insert text, replacing \\t tab chars with the correct indent width, and \\n newline
* chars with the correct line ending string.
+ * @param editor The editor to operate on.
+ * @param insert_pos Position, where to start with inserting text block.
* @param text Intended as e.g. "if (1)\n\tdo_something();"
* @param cursor_index If >= 0, the index into @a text to place the cursor.
* @param newline_indent_size Indentation size (in spaces) to insert for each newline; use
@@ -2180,11 +2182,11 @@
* @param replace_newlines Whether to replace newlines in text or not. If
* newlines have been replaced before, this should be false, to avoid multiple
* replacements of newlines, which is error prone on Windows.
- * @warning Make sure all \t tab chars in @a text are intended as indent widths,
+ * @warning Make sure all \\t tab chars in @a text are intended as indent widths,
* NOT any hard tabs (you get those when copying document text with the Tabs
* & Spaces indent mode set).
- * @note This doesn't scroll the cursor in view afterwards. */
-static void editor_insert_text_block(GeanyEditor *editor, const gchar *text, gint insert_pos,
+ * @note This doesn't scroll the cursor in view afterwards. **/
+void editor_insert_text_block(GeanyEditor *editor, const gchar *text, gint insert_pos,
gint cursor_index, gint newline_indent_size, gboolean replace_newlines)
{
ScintillaObject *sci = editor->sci;
@@ -2195,6 +2197,7 @@
const gchar cur_marker[] = "__GEANY_CURSOR_MARKER__";
g_return_if_fail(text);
+ g_return_if_fail(editor != NULL);
buf = g_string_new(text);
Modified: trunk/src/editor.h
===================================================================
--- trunk/src/editor.h 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/src/editor.h 2010-01-12 18:44:38 UTC (rev 4521)
@@ -277,4 +277,8 @@
gchar *editor_get_calltip_text(GeanyEditor *editor, const TMTag *tag);
+void editor_insert_text_block(GeanyEditor *editor, const gchar *text,
+ gint insert_pos, gint cursor_index,
+ gint newline_indent_size, gboolean replace_newlines);
+
#endif
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/src/plugindata.h 2010-01-12 18:44:38 UTC (rev 4521)
@@ -50,7 +50,7 @@
enum {
/** The Application Programming Interface (API) version, incremented
* whenever any plugin data types are modified or appended to. */
- GEANY_API_VERSION = 168,
+ GEANY_API_VERSION = 169,
/** The Application Binary Interface (ABI) version, incremented whenever
* existing fields in the plugin data types have to be changed or reordered. */
@@ -563,6 +563,10 @@
const gchar* (*get_eol_char_name) (struct GeanyEditor *editor);
gint (*get_eol_char_len) (struct GeanyEditor *editor);
const gchar* (*get_eol_char) (struct GeanyEditor *editor);
+
+ void (*insert_text_block) (struct GeanyEditor *editor, const gchar *text,
+ gint insert_pos, gint cursor_index, gint newline_indent_size,
+ gboolean replace_newlines);
}
EditorFuncs;
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2010-01-03 21:41:52 UTC (rev 4520)
+++ trunk/src/plugins.c 2010-01-12 18:44:38 UTC (rev 4521)
@@ -120,7 +120,8 @@
&editor_get_word_at_pos,
&editor_get_eol_char_name,
&editor_get_eol_char_len,
- &editor_get_eol_char
+ &editor_get_eol_char,
+ &editor_insert_text_block
};
static ScintillaFuncs scintilla_funcs = {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list