[geany/geany-plugins] cd19ee: Merge remote-tracking branch 'origin/master' into webkit2gtk

Chow Loong Jin git-noreply at xxxxx
Wed May 30 05:21:23 UTC 2018


Branch:      refs/heads/master
Author:      Chow Loong Jin <hyperair at debian.org>
Committer:   Chow Loong Jin <hyperair at debian.org>
Date:        Sun, 13 May 2018 08:38:29 UTC
Commit:      cd19ee2edea25f660716ab097fa2436046d6ec1a
             https://github.com/geany/geany-plugins/commit/cd19ee2edea25f660716ab097fa2436046d6ec1a

Log Message:
-----------
Merge remote-tracking branch 'origin/master' into webkit2gtk


Modified Paths:
--------------
    MAINTAINERS
    NEWS
    addons/README
    addons/src/Makefile.am
    addons/src/addons.c
    addons/src/ao_colortip.c
    addons/src/ao_colortip.h
    build/geany-plugins.nsi
    build/gtk-bundle-from-msys2.sh
    build/spellcheck.m4
    build/treebrowser.m4
    build/workbench.m4
    configure.ac
    geanyctags/src/geanyctags.c
    geanyinsertnum/src/insertnum.c
    geanylua/docs/geanylua-ref.html
    geanylua/examples/edit/right-trim.lua
    geanylua/glspi_app.c
    geanylua/glspi_doc.c
    geanylua/glspi_keycmd.h
    geanylua/glspi_sci.h
    geanylua/keywords.list
    geanylua/util/mk-keytab.lua
    geanyprj/src/geanyprj.c
    geanyvc/src/geanyvc.c
    po/POTFILES.in
    po/be.po
    po/ca.po
    po/da.po
    po/de.po
    po/el.po
    po/es.po
    po/fr.po
    po/gl.po
    po/it.po
    po/ja.po
    po/kk.po
    po/nl.po
    po/pt.po
    po/pt_BR.po
    po/ru.po
    po/tr.po
    po/zh_CN.po
    pohelper/src/gph-plugin.c
    pretty-printer/src/PluginEntry.c
    scope/data/scope.glade
    scope/src/break.c
    scope/src/debug.c
    scope/src/inspect.c
    scope/src/memory.c
    scope/src/menu.c
    scope/src/parse.c
    scope/src/plugme.c
    scope/src/prefs.c
    scope/src/program.c
    scope/src/scope.c
    scope/src/thread.c
    scope/src/utils.c
    scope/src/views.c
    spellcheck/README
    spellcheck/src/Makefile.am
    spellcheck/src/scplugin.c
    spellcheck/src/speller.c
    treebrowser/src/treebrowser.c
    utils/src/filelist.c
    utils/src/filelist.h
    workbench/README
    workbench/src/Makefile.am
    workbench/src/dialogs.c
    workbench/src/dialogs.h
    workbench/src/menu.c
    workbench/src/plugin_main.c
    workbench/src/popup_menu.c
    workbench/src/popup_menu.h
    workbench/src/sidebar.c
    workbench/src/sidebar.h
    workbench/src/wb_monitor.c
    workbench/src/wb_monitor.h
    workbench/src/wb_project.c
    workbench/src/wb_project.h
    workbench/src/workbench.c
    workbench/src/workbench.h

Modified: MAINTAINERS
45 lines changed, 44 insertions(+), 1 deletions(-)
===================================================================
@@ -1,4 +1,5 @@
 # P: Person
+# G: Github @name
 # M: Mail patches to: FullName <address at domain>
 # W: Web-page with status/info
 # S: Status, one of the following:
@@ -13,193 +14,225 @@
 
 addons
 P: Enrico Tröger <enrico.troeger at uvena.de>
+g: @eht16
 M: Enrico Tröger <enrico.troeger at uvena.de>
 W: http://plugins.geany.org/addons.html
 S: Maintained
 
 autoclose
 P: Pavel Roschin <rpg89(at)post(dot)ru>
+g: @scriptum
 M: Pavel Roschin <rpg89(at)post(dot)ru>
 W:
 S: Maintained
 
 automark
 P: Pavel Roschin <rpg89(at)post(dot)ru>
+g: @scriptum
 M: Pavel Roschin <rpg89(at)post(dot)ru>
 W:
 S: Maintained
 
 codenav
 P: Federico Reghenzani <federico(dot)dev(at)reghe(dot)net>
+g:
 M: Federico Reghenzani <federico(dot)dev(at)reghe(dot)net>
 W: http://plugins.geany.org/codenav.html
 S: Maintained
 
 commander
 P: Colomban Wendling <ban at herbesfolles.org>
+g: @b4n
 M: Colomban Wendling <ban at herbesfolles.org>
 W:
 S: Maintained
 
 debugger
 P: Alexander Petukhov <devel at apetukhov.ru>
+g: 
 M: Alexander Petukhov <devel at apetukhov.ru>
 W: http://plugins.geany.org/debugger.html
 S: Maintained
 
 defineformat
 P: Pavel Roschin <rpg89(at)post(dot)ru>
+g: @scriptum
 M: Pavel Roschin <rpg89(at)post(dot)ru>
 W: http://plugins.geany.org/defineformat.html
 S: Maintained
 
 devhelp
 P: Matthew Brush <matt at geany.org>
+g: @codebrainz
 M: Matthew Brush <matt at geany.org>
 W: http://plugins.geany.org/devhelp.html
 S: Maintained
 
 geanyctags
 P: Jiří Techet <techet at gmail.com>
+g: @techee
 M: Jiří Techet <techet at gmail.com>
 W: http://plugins.geany.org/geanyctags.html
 S: Maintained
 
 geanydoc
 P: Yura Siamashka <yurand2 at gmail.com>
+g:
 M: Yura Siamashka <yurand2 at gmail.com>
 W: http://plugins.geany.org/geanydoc.html
 S: Odd Fixes
 
 geanyextrasel
 P:
+g:
 M:
 W: http://plugins.geany.org/geanyextrasel.html
 S: Orphaned
 
 geanygendoc
 P: Colomban Wendling <ban at herbesfolles.org>
+g: @b4n
 M: Colomban Wendling <ban at herbesfolles.org>
 W: http://plugins.geany.org/geanygendoc.html
 S: Maintained
 
 geanyinsertnum
 P:
+g:
 M:
 W: http://plugins.geany.org/geanyinsertnum.html
 S: Orphaned
 
 latex
 P: Frank Lanitz <frank at frank.uvena.de>
+g: @frlan
 M: Frank Lanitz <frank at frank.uvena.de>
 W: http://frank.uvena.de/en/Geany/geanylatex/
 S: Maintained
 
 
 geanylua
 P:
+g:
 M:
 W:
 S: Orphaned
 
 geanymacro
 P: William Fraser <william.fraser at virgin.net>
+g:
 M: William Fraser <william.fraser at virgin.net>
 W: http://plugins.geany.org/geanymacro.html
 S: Maintained
 
 geanyminiscript
 P: Eugene Arshinov <earshinov at gmail.com>
+g:
 M: Eugene Arshinov <earshinov at gmail.com>
 W:
 S: Maintained
 
 geanynumberedbookmarks
 P: William Fraser <william.fraser at virgin.net>
+g:
 M: William Fraser <william.fraser at virgin.net>
 W: http://plugins.geany.org/geanynumberedbookmarks.html
 S: Maintained
 
 geanypg
 P: Hans Alves <alves.h88 at gmail.com>
+g:
 M: Hans Alves <alves.h88 at gmail.com>
 W: http://plugins.geany.org/geanypg.html
 S: Odd Fixes
 
 geanyprj
 P: Donjan Rodic <bryonak at freenet.de>
+g:
 M: Donjan Rodic <bryonak at freenet.de>
 W: http://plugins.geany.org/geanyprj.html
 S: Odd Fixes
 
 geanypy
 P: Thomas Martitz <kugel at rockbox.org>
+g: @kugel-
 M: Thomas Martitz <kugel at rockbox.org>
 W: http://plugins.geany.org/geanypy.html
 S: Currently diverged from upstream
 
 geanysendmail
 P: Frank Lanitz <frank at frank.uvena.de>
+g: @frlan
 M: Frank Lanitz <frank at frank.uvena.de>
 W: http://plugins.geany.org/geanysendmail.html
 S: Maintained
 
 geanyvc
 P: Yura Siamashka <yurand2 at gmail.com>
+g:
 M: Yura Siamashka <yurand2 at gmail.com>
 W: http://plugins.geany.org/geanyvc.html
 S: Odd Fixes
 
 geniuspaste
 P: Enrico Trotta <enrico.trt at gmail.com>
+g:
 M: Enrico Trotta <enrico.trt at gmail.com>
 W:
 S: Maintained
 
 git-changebar
 P: Colomban Wendling <ban at herbesfolles.org>
+g: @b4n
 M: Colomban Wendling <ban at herbesfolles.org>
 W: http://plugins.geany.org/git-changebar.html
 S: Maintained
 
 keyrecord
 P: Artur Riazanov <tunyash at gmail.com>
+g:
 M: Artur Riazanov <tunyash at gmail.com>
 W: 
 S: Maintained
 
 lineoperations
 P: Sylvan Mostert <smostert.dev at gmail.com>
+g:
 M: Sylvan Mostert <smostert.dev at gmail.com>
 W:
 S: Maintained
 
 lipsum
 P: Frank Lanitz <frank at frank.uvena.de>
+g: @frlan
 M: Frank Lanitz <frank at frank.uvena.de>
 W: http://plugins.geany.org/lipsum.html
 S: Maintained
 
 markdown
 P: Matthew Brush <matt at geany.org>
+g: @codebrainz
 M: Matthew Brush <matt at geany.org>
 W:
 S: Maintained
 
 multiterm
 P: Matthew Brush <matt at geany.org>
+g: @codebrainz
 M: Matthew Brush <matt at geany.org>
 W: http://plugins.geany.org/multiterm.html
 S: Maintained
 
 overview
 P: Matthew Brush <matt at geany.org>
+g: @codebrainz
 M: Matthew Brush <matt at geany.org>
 W: https://github.com/codebrainz/overview-plugin
 S: Maintained
 
 pairtaghighlighter
 P: Volodymyr Kononenko <vm at kononenko.ws>
+g:
 M: Volodymyr Kononenko <vm at kononenko.ws>
 W:
 S: Maintained
@@ -212,60 +245,70 @@ S: Orphaned
 
 projectorganizer
 P: Jiří Techet <techet at gmail.com>
+g: @techee
 M: Jiří Techet <techet at gmail.com>
 W: http://plugins.geany.org/projectorganizer.html
 S: Maintained
 
 pohelper
 P: Colomban Wendling <ban at herbesfolles.org>
+g: @b4n
 M: Colomban Wendling <ban at herbesfolles.org>
 W: http://plugins.geany.org/pohelper.html
 S: Maintained
 
 scope
 P:
+g: @LarsGit223
 M:
 W: http://plugins.geany.org/scope.html
-S: Orphaned
+S: Maintained
 
 shiftcolumn
 P:
+g:
 M:
 W:
 S: Orphaned
 
 spellcheck
 P: Enrico Tröger <enrico.troeger at uvena.de>
+g: @eht16
 M: Enrico Tröger <enrico.troeger at uvena.de>
 W: http://plugins.geany.org/spellcheck.html
 S: Maintained
 
 tableconvert
 P: Frank Lanitz <frank at frank.uvena.de>
+g: @frlan
 M: Frank Lanitz <frank at frank.uvena.de>
 W: http://plugins.geany.org/tableconvert.html
 S: Maintained
 
 treebrowser
 P: Adam Dingle <adam at medovina.org>
+g:
 M: Adam Dingle <adam at medovina.org>
 W: http://plugins.geany.org/treebrowser.html
 S: Maintained
 
 updatechecker
 P: Frank Lanitz <frank at frank.uvena.de>
+g: @frlan
 M: Frank Lanitz <frank at frank.uvena.de>
 W: http://plugins.geany.org/updatechecker.html
 S: Maintained
 
 webhelper
 P: Colomban Wendling <ban at herbesfolles.org>
+g: @b4n
 M: Colomban Wendling <ban at herbesfolles.org>
 W: http://plugins.geany.org/webhelper.html
 S: Maintained
 
 xmlsnippets
 P: Eugene Arshinov <earshinov at gmail.com>
+g: @earshinov
 M: Eugene Arshinov <earshinov at gmail.com>
 W: http://plugins.geany.org/xmlsnippets.html
 S: Maintained


Modified: NEWS
39 lines changed, 38 insertions(+), 1 deletions(-)
===================================================================
@@ -1,8 +1,45 @@
-Geany Plugins 1.33 (not yet released)
+Geany Plugins 1.34 (not yet released)
 
     No changes by now.
 
 
+Geany Plugins 1.33 (2018-02-25)
+
+    General:
+    * Rename plugin geanylatex to latex
+    * utils lib: added new function 'gp_filelist_scan_directory_full() (PR #681)
+
+    Addons:
+    * Show color tip and start Color Chooser with double click (PR #664)
+
+    GeanyLua:
+    * Add filetype to set in geany.newfile() (PR #652)
+    * Add function geany.reloadconf() (PR #653)
+    * Fix right-trim.lua (PR #670)
+    * Update glspi_keycmd.h to match latest Geany version (PR #662)
+    * Update to match latest Geany's Scintilla API (PR #685)
+
+    PrettyPrinter:
+    * Allow to pretty print a selection only (PR #683)
+
+    Spellcheck:
+    * Remember 'Check while typing' setting between sessions (#667, PR #680)
+    * Support Enchant 2.0 and later (PR #674)
+
+    Treebrowser:
+    * Fallback to "text-x-generic" icon if info lookup fails (PR #682)
+
+    VC:
+    * Remember the commit dialog size (#679)
+
+    Workbench:
+    * Add "Create file here..."/"Create directory here..." (PR #681)
+    * Renamed "folder" to "sub-directory" (PR #678)
+
+    Internationalization:
+    * Updated translations: de, es, fr
+
+
 Geany Plugins 1.32 (2017-11-19)
 
     General:


Modified: addons/README
17 lines changed, 17 insertions(+), 0 deletions(-)
===================================================================
@@ -27,6 +27,8 @@ Features
 * Strip trailing blank lines when saving
 * XMLtagging
 * Enclose selected text with characters
+* Show colorized calltip on hovering over a color value
+* Open Color Chooser on double clicking on a color value
 
 Usage
 -----
@@ -98,6 +100,21 @@ to the clipboard for further use.
 The action can be triggered by a keyboard shortcut as well as by
 a menu item in the Tools menu.
 
+*Show colorized calltip on hovering over a color value*
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This extension will show a calltip if the mouse is hovered over a color
+value like #fff or #ffffff. The calltip background color represents the
+color value over which the mouse is hovered. The preferences option "Show
+a calltip when hovering over a color value" is used to enable or disable
+the extension.
+
+*Open Color Chooser on double clicking on a color value*
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+This extension will open the Color Chooser if the user double clicks on
+a color value like #fff or #ffffff. The preferences option "Open Color
+Chooser when double-clicking a color value" is used to enable or disable
+the extension.
+
 Requirements
 ------------
 


Modified: addons/src/Makefile.am
28 lines changed, 15 insertions(+), 13 deletions(-)
===================================================================
@@ -4,28 +4,30 @@ plugin = addons
 geanyplugins_LTLIBRARIES = addons.la
 
 addons_la_SOURCES = \
+	addons.c \
 	addons.h \
+	ao_blanklines.c \
 	ao_blanklines.h \
-	ao_doclist.h \
-	ao_openuri.h \
-	ao_systray.h \
+	ao_bookmarklist.c \
 	ao_bookmarklist.h \
-	ao_markword.h \
-	ao_tasks.h \
-	ao_xmltagging.h \
-	ao_wrapwords.h \
+	ao_colortip.c \
+	ao_colortip.h \
+	ao_copyfilepath.c \
 	ao_copyfilepath.h \
-	addons.c \
-	ao_blanklines.c \
 	ao_doclist.c \
+	ao_doclist.h \
+	ao_markword.c \
+	ao_markword.h \
 	ao_openuri.c \
+	ao_openuri.h \
 	ao_systray.c \
-	ao_bookmarklist.c \
-	ao_markword.c \
+	ao_systray.h \
 	ao_tasks.c \
-	ao_xmltagging.c \
+	ao_tasks.h \
 	ao_wrapwords.c \
-	ao_copyfilepath.c
+	ao_wrapwords.h \
+	ao_xmltagging.c \
+	ao_xmltagging.h
 
 addons_la_CPPFLAGS = $(AM_CPPFLAGS) \
 					 -DG_LOG_DOMAIN=\"Addons\"


Modified: addons/src/addons.c
42 lines changed, 42 insertions(+), 0 deletions(-)
===================================================================
@@ -39,6 +39,7 @@
 #include "ao_xmltagging.h"
 #include "ao_wrapwords.h"
 #include "ao_copyfilepath.h"
+#include "ao_colortip.h"
 
 
 GeanyPlugin		*geany_plugin;
@@ -82,6 +83,8 @@ typedef struct
 	gboolean enable_enclose_words;
 	gboolean enable_enclose_words_auto;
 	gboolean strip_trailing_blank_lines;
+	gboolean enable_colortip;
+	gboolean enable_double_click_color_chooser;
 
 	gchar *tasks_token_list;
 	gboolean tasks_scan_all_documents;
@@ -96,6 +99,7 @@ typedef struct
 	AoMarkWord *markword;
 	AoTasks *tasks;
 	AoCopyFilePath *copyfilepath;
+	AoColorTip *colortip;
 } AddonsInfo;
 static AddonsInfo *ao_info = NULL;
 
@@ -181,6 +185,8 @@ gboolean ao_editor_notify_cb(GObject *object, GeanyEditor *editor,
 	
 	ao_mark_editor_notify(ao_info->markword, editor, nt);
 
+	ao_color_tip_editor_notify(ao_info->colortip, editor, nt);
+
 	return FALSE;
 }
 
@@ -208,6 +214,7 @@ static void ao_document_new_cb(GObject *obj, GeanyDocument *doc, gpointer data)
 	g_return_if_fail(doc != NULL && doc->is_valid);
 
 	ao_mark_document_new(ao_info->markword, doc);
+	ao_color_tip_document_new(ao_info->colortip, doc);
 }
 
 
@@ -217,6 +224,7 @@ static void ao_document_open_cb(GObject *obj, GeanyDocument *doc, gpointer data)
 
 	ao_tasks_update(ao_info->tasks, doc);
 	ao_mark_document_open(ao_info->markword, doc);
+	ao_color_tip_document_open(ao_info->colortip, doc);
 }
 
 
@@ -226,6 +234,7 @@ static void ao_document_close_cb(GObject *obj, GeanyDocument *doc, gpointer data
 
 	ao_tasks_remove(ao_info->tasks, doc);
 	ao_mark_document_close(ao_info->markword, doc);
+	ao_color_tip_document_close(ao_info->colortip, doc);
 }
 
 
@@ -304,6 +313,10 @@ void plugin_init(GeanyData *data)
 		"enable_enclose_words", FALSE);
 	ao_info->enable_enclose_words_auto = utils_get_setting_boolean(config, "addons",
 		"enable_enclose_words_auto", FALSE);
+	ao_info->enable_colortip = utils_get_setting_boolean(config,
+		"addons", "enable_colortip", FALSE);
+	ao_info->enable_double_click_color_chooser = utils_get_setting_boolean(config,
+		"addons", "enable_double_click_color_chooser", FALSE);
 
 	plugin_module_make_resident(geany_plugin);
 
@@ -316,6 +329,8 @@ void plugin_init(GeanyData *data)
 	ao_info->tasks = ao_tasks_new(ao_info->enable_tasks,
 						ao_info->tasks_token_list, ao_info->tasks_scan_all_documents);
 	ao_info->copyfilepath = ao_copy_file_path_new();
+	ao_info->colortip = ao_color_tip_new(ao_info->enable_colortip,
+		ao_info->enable_double_click_color_chooser);
 
 	ao_blanklines_set_enable(ao_info->strip_trailing_blank_lines);
 
@@ -415,6 +430,10 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer
 			g_object_get_data(G_OBJECT(dialog), "check_enclose_words"))));
 		ao_info->enable_enclose_words_auto = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
 			g_object_get_data(G_OBJECT(dialog), "check_enclose_words_auto"))));
+		ao_info->enable_colortip = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+			g_object_get_data(G_OBJECT(dialog), "check_colortip"))));
+		ao_info->enable_double_click_color_chooser = (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
+			g_object_get_data(G_OBJECT(dialog), "check_double_click_color_chooser"))));
 
 		ao_enclose_words_set_enabled (ao_info->enable_enclose_words, ao_info->enable_enclose_words_auto);
 
@@ -441,6 +460,9 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer
 			ao_info->enable_enclose_words);
 		g_key_file_set_boolean(config, "addons", "enable_enclose_words_auto",
 			ao_info->enable_enclose_words_auto);
+		g_key_file_set_boolean(config, "addons", "enable_colortip", ao_info->enable_colortip);
+		g_key_file_set_boolean(config, "addons", "enable_double_click_color_chooser",
+			ao_info->enable_double_click_color_chooser);
 
 		g_object_set(ao_info->doclist, "enable-doclist", ao_info->enable_doclist, NULL);
 		g_object_set(ao_info->doclist, "sort-mode", ao_info->doclist_sort_mode, NULL);
@@ -458,6 +480,10 @@ static void ao_configure_response_cb(GtkDialog *dialog, gint response, gpointer
 			"tokens", ao_info->tasks_token_list,
 			NULL);
 		ao_blanklines_set_enable(ao_info->strip_trailing_blank_lines);
+		g_object_set(ao_info->colortip,
+			"enable-colortip", ao_info->enable_colortip,
+			"enable-double-click-color-chooser", ao_info->enable_double_click_color_chooser,
+			NULL);
 
 		if (! g_file_test(config_dir, G_FILE_TEST_IS_DIR) && utils_mkdir(config_dir, TRUE) != 0)
 		{
@@ -487,6 +513,7 @@ GtkWidget *plugin_configure(GtkDialog *dialog)
 	GtkWidget *check_tasks_scan_mode, *entry_tasks_tokens, *label_tasks_tokens, *tokens_hbox;
 	GtkWidget *check_blanklines, *check_xmltagging;
 	GtkWidget *check_enclose_words, *check_enclose_words_auto, *enclose_words_config_button, *enclose_words_hbox;
+	GtkWidget *check_colortip, *check_double_click_color_chooser;
 
 	vbox = gtk_vbox_new(FALSE, 6);
 
@@ -633,6 +660,17 @@ GtkWidget *plugin_configure(GtkDialog *dialog)
 		ao_info->enable_enclose_words_auto);
 	gtk_box_pack_start(GTK_BOX(vbox), check_enclose_words_auto, FALSE, FALSE, 3);
 
+	check_colortip = gtk_check_button_new_with_label(
+		_("Show a calltip when hovering over a color value"));
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_colortip),
+		ao_info->enable_colortip);
+	gtk_box_pack_start(GTK_BOX(vbox), check_colortip, FALSE, FALSE, 3);
+
+	check_double_click_color_chooser = gtk_check_button_new_with_label(
+		_("Open Color Chooser when double-clicking a color value"));
+	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_double_click_color_chooser),
+		ao_info->enable_double_click_color_chooser);
+	gtk_box_pack_start(GTK_BOX(vbox), check_double_click_color_chooser, FALSE, FALSE, 3);
 
 	g_object_set_data(G_OBJECT(dialog), "check_doclist", check_doclist);
 	g_object_set_data(G_OBJECT(dialog), "radio_doclist_name", radio_doclist_name);
@@ -653,6 +691,9 @@ GtkWidget *plugin_configure(GtkDialog *dialog)
 	g_object_set_data(G_OBJECT(dialog), "check_enclose_words", check_enclose_words);
 	g_object_set_data(G_OBJECT(dialog), "check_enclose_words_auto", check_enclose_words_auto);
 	g_object_set_data(G_OBJECT(dialog), "enclose_words_config_button", enclose_words_config_button);
+	g_object_set_data(G_OBJECT(dialog), "check_colortip", check_colortip);
+	g_object_set_data(G_OBJECT(dialog), "check_double_click_color_chooser",
+		check_double_click_color_chooser);
 	g_signal_connect(dialog, "response", G_CALLBACK(ao_configure_response_cb), NULL);
 
 	ao_configure_tasks_toggled_cb(GTK_TOGGLE_BUTTON(check_tasks), dialog);
@@ -678,6 +719,7 @@ void plugin_cleanup(void)
 	g_object_unref(ao_info->markword);
 	g_object_unref(ao_info->tasks);
 	g_object_unref(ao_info->copyfilepath);
+	g_object_unref(ao_info->colortip);
 	g_free(ao_info->tasks_token_list);
 
 	ao_blanklines_set_enable(FALSE);


Modified: addons/src/ao_colortip.c
385 lines changed, 385 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,385 @@
+/*
+ *      ao_colortip.c - this file is part of Addons, a Geany plugin
+ *
+ *      Copyright 2017 LarsGit223
+ *
+ *      This program is free software; you can redistribute it and/or modify
+ *      it under the terms of the GNU General Public License as published by
+ *      the Free Software Foundation; either version 2 of the License, or
+ *      (at your option) any later version.
+ *
+ *      This program is distributed in the hope that it will be useful,
+ *      but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *      GNU General Public License for more details.
+ *
+ *      You should have received a copy of the GNU General Public License
+ *      along with this program; if not, write to the Free Software
+ *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#include <gtk/gtk.h>
+#include <glib-object.h>
+
+#include "geanyplugin.h"
+
+#include "addons.h"
+#include "ao_colortip.h"
+
+typedef struct _AoColorTipPrivate			AoColorTipPrivate;
+
+#define AO_COLORTIP_GET_PRIVATE(obj)		(G_TYPE_INSTANCE_GET_PRIVATE((obj),\
+			AO_COLORTIP_TYPE, AoColorTipPrivate))
+
+struct _AoColorTip
+{
+	GObject parent;
+};
+
+struct _AoColorTipClass
+{
+	GObjectClass parent_class;
+};
+
+struct _AoColorTipPrivate
+{
+	gboolean enable_colortip;
+	gboolean enable_double_click_color_chooser;
+};
+
+enum
+{
+	PROP_0,
+	PROP_ENABLE_COLORTIP,
+	PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER,
+};
+
+G_DEFINE_TYPE(AoColorTip, ao_color_tip, G_TYPE_OBJECT)
+
+#  define SSM(s, m, w, l) scintilla_send_message (s, m, w, l)
+
+
+/* Find a color value (short or long form, e.g. #fff or #ffffff) in the
+   given string. position must be inside the found color or at maximum
+   maxdist bytes in front of it (in front of the start of the color value)
+   or behind it (behind the end of the color value). */
+static gint contains_color_value(gchar *string, gint position, gint maxdist)
+{
+	gchar *start;
+	gint end, value, offset, color = -1;
+	guint length;
+
+	start = strchr(string, '#');
+	if (start == NULL)
+	{
+		return color;
+	}
+	end = start - string + 1;
+	while (g_ascii_isxdigit (string[end]))
+	{
+		end++;
+	}
+	end--;
+	length = &(string[end]) - start + 1;
+
+	if (maxdist != -1)
+	{
+		offset = start - string + 1;
+		if (position < offset &&
+		    (offset - position) > maxdist)
+		{
+			return color;
+		}
+
+		offset = end;
+		if (position > offset &&
+		    (position - offset) > maxdist)
+		{
+			return color;
+		}
+	}
+
+
+	if (length == 4)
+	{
+		start++;
+		color = (g_ascii_xdigit_value (*start) << 4)
+				| g_ascii_xdigit_value (*start);
+
+		start++;
+		value = (g_ascii_xdigit_value (*start) << 4)
+				| g_ascii_xdigit_value (*start);
+		color += value << 8;
+
+		start++;
+		value = (g_ascii_xdigit_value (*start) << 4)
+				| g_ascii_xdigit_value (*start);
+		color += value << 16;
+	}
+	else if (length == 7)
+	{
+		start++;
+		color = (g_ascii_xdigit_value (start[0]) << 4)
+				| g_ascii_xdigit_value (start[1]);
+
+		start += 2;
+		value = (g_ascii_xdigit_value (start[0]) << 4)
+				| g_ascii_xdigit_value (start[1]);
+		color += value << 8;
+
+		start += 2;
+		value = (g_ascii_xdigit_value (start[0]) << 4)
+				| g_ascii_xdigit_value (start[1]);
+		color += value << 16;
+	}
+
+	return color;
+}
+
+
+static gint get_color_value_at_current_doc_position(void)
+{
+    gint color = -1;
+    GeanyDocument *doc = document_get_current();
+    gchar *word = editor_get_word_at_pos(doc->editor, -1, "0123456789abcdefABCDEF");
+
+    if (word)
+    {
+        switch (strlen (word))
+        {
+            case 3:
+                color = ((g_ascii_xdigit_value(word[0]) * 0x11) << 16 |
+                         (g_ascii_xdigit_value(word[1]) * 0x11) << 8 |
+                         (g_ascii_xdigit_value(word[2]) * 0x11) << 0);
+                break;
+            case 6:
+                color = (g_ascii_xdigit_value(word[0]) << 20 |
+                         g_ascii_xdigit_value(word[1]) << 16 |
+                         g_ascii_xdigit_value(word[2]) << 12 |
+                         g_ascii_xdigit_value(word[3]) << 8 |
+                         g_ascii_xdigit_value(word[4]) << 4 |
+                         g_ascii_xdigit_value(word[5]) << 0);
+                break;
+            default:
+                /* invalid color or other format */
+                break;
+        }
+    }
+
+    return color;
+}
+
+static gboolean on_editor_button_press_event(GtkWidget *widget, GdkEventButton *event,
+											 AoColorTip *colortip)
+{
+	if (event->button == 1)
+	{
+		if (event->type == GDK_2BUTTON_PRESS)
+		{
+			AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(colortip);
+
+			if (!priv->enable_double_click_color_chooser)
+				return FALSE;
+
+			if (get_color_value_at_current_doc_position() != -1)
+			{
+				keybindings_send_command
+					(GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER);
+			}
+		}
+	}
+	return FALSE;
+}
+
+
+void ao_color_tip_editor_notify(AoColorTip *colortip, GeanyEditor *editor, SCNotification *nt)
+{
+	ScintillaObject *sci = editor->sci;
+	AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(colortip);
+
+	if (!priv->enable_colortip)
+	{
+		/* Ignore all events if color tips are disabled in preferences */
+		return;
+	}
+
+	switch (nt->nmhdr.code)
+	{
+		case SCN_DWELLSTART:
+		{
+			gchar *subtext;
+			gint start, end, pos, max;
+
+			/* Is position valid? */
+			if (nt->position < 0)
+				break;
+
+			/* Calculate range */
+			start = nt->position;
+			if (start >= 7)
+			{
+				start -= 7;
+			}
+			else
+			{
+				start = 0;
+			}
+			pos = nt->position - start;
+			end = nt->position + 7;
+			max = SSM(sci, SCI_GETTEXTLENGTH, 0, 0);
+			if (end > max)
+			{
+				end = max;
+			}
+
+			/* Get text in range and examine it */
+			subtext = sci_get_contents_range(sci, start, end);
+			if (subtext != NULL)
+			{
+				gint color;
+				
+				color = contains_color_value (subtext, pos, 2);
+				if (color != -1)
+				{
+					SSM(sci, SCI_CALLTIPSETBACK, color, 0);
+					SSM(sci, SCI_CALLTIPSHOW, nt->position, (sptr_t)"    ");
+				}
+				g_free(subtext);
+			}
+		}
+			break;
+
+		case SCN_DWELLEND:
+			SSM(sci, SCI_CALLTIPCANCEL, 0, 0);
+			break;
+	}
+}
+
+
+static void connect_document_button_press_signal_handler(AoColorTip *colortip, GeanyDocument *document)
+{
+	g_return_if_fail(DOC_VALID(document));
+
+	plugin_signal_connect(
+		geany_plugin,
+		G_OBJECT(document->editor->sci),
+		"button-press-event",
+		FALSE,
+		G_CALLBACK(on_editor_button_press_event),
+		colortip);
+}
+
+
+static void connect_documents_button_press_signal_handler(AoColorTip *colortip)
+{
+	guint i = 0;
+	/* connect the button-press event for all open documents */
+	foreach_document(i)
+	{
+		connect_document_button_press_signal_handler(colortip, documents[i]);
+	}
+}
+
+
+static void ao_color_tip_finalize(GObject *object)
+{
+	g_return_if_fail(object != NULL);
+	g_return_if_fail(IS_AO_COLORTIP(object));
+
+	G_OBJECT_CLASS(ao_color_tip_parent_class)->finalize(object);
+}
+
+
+static void ao_color_tip_set_property(GObject *object, guint prop_id,
+									  const GValue *value, GParamSpec *pspec)
+{
+	AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(object);
+
+	switch (prop_id)
+	{
+		case PROP_ENABLE_COLORTIP:
+			priv->enable_colortip = g_value_get_boolean(value);
+			break;
+		case PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER:
+			priv->enable_double_click_color_chooser = g_value_get_boolean(value);
+
+			/* If the plugin is loaded while Geany is already running, we need to connect the
+			 * button press signal for open documents, if Geany is just booting,
+			 * it happens automatically */
+			if (priv->enable_double_click_color_chooser && main_is_realized())
+			{
+				connect_documents_button_press_signal_handler(AO_COLORTIP(object));
+			}
+			break;
+		default:
+			G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
+			break;
+	}
+}
+
+
+void ao_color_tip_document_new(AoColorTip *colortip, GeanyDocument *document)
+{
+	connect_document_button_press_signal_handler(colortip, document);
+	SSM(document->editor->sci, SCI_SETMOUSEDWELLTIME, 300, 0);
+}
+
+
+void ao_color_tip_document_open(AoColorTip *colortip, GeanyDocument *document)
+{
+	connect_document_button_press_signal_handler(colortip, document);
+	SSM(document->editor->sci, SCI_SETMOUSEDWELLTIME, 300, 0);
+}
+
+
+void ao_color_tip_document_close(AoColorTip *colortip, GeanyDocument *document)
+{
+	g_return_if_fail(DOC_VALID(document));
+
+	g_signal_handlers_disconnect_by_func(document->editor->sci, on_editor_button_press_event, colortip);
+}
+
+
+static void ao_color_tip_class_init(AoColorTipClass *klass)
+{
+	GObjectClass *g_object_class;
+
+	g_object_class = G_OBJECT_CLASS(klass);
+	g_object_class->finalize = ao_color_tip_finalize;
+	g_object_class->set_property = ao_color_tip_set_property;
+	g_type_class_add_private(klass, sizeof(AoColorTipPrivate));
+
+	g_object_class_install_property(g_object_class,
+									PROP_ENABLE_COLORTIP,
+									g_param_spec_boolean(
+									"enable-colortip",
+									"enable-colortip",
+									"Whether to show a calltip when hovering over a color value",
+									TRUE,
+									G_PARAM_WRITABLE));
+
+	g_object_class_install_property(g_object_class,
+									PROP_ENABLE_DOUBLE_CLICK_COLOR_CHOOSER,
+									g_param_spec_boolean(
+									"enable-double-click-color-chooser",
+									"enable-double-click-color-chooser",
+									"Enable starting the Color Chooser when double clicking on a color value",
+									TRUE,
+									G_PARAM_WRITABLE));
+}
+
+static void ao_color_tip_init(AoColorTip *self)
+{
+	AoColorTipPrivate *priv = AO_COLORTIP_GET_PRIVATE(self);
+	memset(priv, 0, sizeof(*priv));
+}
+
+AoColorTip *ao_color_tip_new(gboolean enable_tip, gboolean double_click_color_chooser)
+{
+	return g_object_new(
+		AO_COLORTIP_TYPE,
+		"enable-colortip", enable_tip,
+		"enable-double-click-color-chooser", double_click_color_chooser,
+		NULL);
+}


Modified: addons/src/ao_colortip.h
49 lines changed, 49 insertions(+), 0 deletions(-)
===================================================================
@@ -0,0 +1,49 @@
+/*
+ *      ao_colortip.h - this file is part of Addons, a Geany plugin
+ *
+ *      Copyright 2017 LarsGit223
+ *
+ *      This program is free software; you can redistribute it and/or modify
+ *      it under the terms of the GNU General Public License as published by
+ *      the Free Software Foundation; either version 2 of the License, or
+ *      (at your option) any later version.
+ *
+ *      This program is distributed in the hope that it will be useful,
+ *      but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *      GNU General Public License for more details.
+ *
+ *      You should have received a copy of the GNU General Public License
+ *      along with this program; if not, write to the Free Software
+ *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+
+#ifndef __AO_COLORTIP_H__
+#define __AO_COLORTIP_H__
+
+G_BEGIN_DECLS
+
+#define AO_COLORTIP_TYPE				(ao_color_tip_get_type())
+#define AO_COLORTIP(obj)				(G_TYPE_CHECK_INSTANCE_CAST((obj),\
+			AO_COLORTIP_TYPE, AoColorTip))
+#define AO_COLORTIP_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST((klass),\
+			AO_COLORTIP_TYPE, AoColorTipClass))
+#define IS_AO_COLORTIP(obj)				(G_TYPE_CHECK_INSTANCE_TYPE((obj),\
+			AO_COLORTIP_TYPE))
+#define IS_AO_COLORTIP_CLASS(klass)		(G_TYPE_CHECK_CLASS_TYPE((klass),\
+			AO_COLORTIP_TYPE))
+
+typedef struct _AoColorTip				AoColorTip;
+typedef struct _AoColorTipClass			AoColorTipClass;
+
+GType		ao_color_tip_get_type		(void);
+AoColorTip*	ao_color_tip_new			(gboolean enable_tip, gboolean double_click_color_chooser);
+void		ao_color_tip_document_new		(AoColorTip *colortip, GeanyDocument *document);
+void		ao_color_tip_document_open		(AoColorTip *colortip, GeanyDocument *document);
+void		ao_color_tip_document_close		(AoColorTip *colortip, GeanyDocument *document);
+void		ao_color_tip_editor_notify	(AoColorTip *colortip, GeanyEditor *editor, SCNotification *nt);
+
+G_END_DECLS
+
+#endif /* __AO_COLORTIP_H__ */


Modified: build/geany-plugins.nsi
6 lines changed, 4 insertions(+), 2 deletions(-)
===================================================================
@@ -31,8 +31,8 @@ RequestExecutionLevel highest ; set execution level for Windows Vista
 ; helper defines  ;
 ;;;;;;;;;;;;;;;;;;;
 !define PRODUCT_NAME "Geany-Plugins"
-!define PRODUCT_VERSION "1.33"
-!define PRODUCT_VERSION_ID "1.33.0.0"
+!define PRODUCT_VERSION "1.34"
+!define PRODUCT_VERSION_ID "1.34.0.0"
 !define PRODUCT_PUBLISHER "The Geany developer team"
 !define PRODUCT_WEB_SITE "https://www.geany.org/"
 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
@@ -224,6 +224,8 @@ Section Uninstall
 	Delete "$INSTDIR\bin\libgnutlsxx-28.dll"
 	Delete "$INSTDIR\bin\libgpg-error-0.dll"
 	Delete "$INSTDIR\bin\libgpgme-11.dll"
+	Delete "$INSTDIR\bin\libqgpgme-7.dll"
+	Delete "$INSTDIR\bin\libgpgmepp-6.dll"
 	Delete "$INSTDIR\bin\libgstallocators-1.0-0.dll"
 	Delete "$INSTDIR\bin\libgstapp-1.0-0.dll"
 	Delete "$INSTDIR\bin\libgstaudio-1.0-0.dll"


Modified: build/gtk-bundle-from-msys2.sh
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -217,6 +217,7 @@ cleanup_unnecessary_files() {
 	rm -rf lib/lua
 	rm -rf lib/p11-kit
 	rm -rf lib/python2.7
+	rm -rf lib/python3.6
 	find lib -name '*.h' -delete
 	find lib -name '*.a' -delete
 	find lib -name '*.typelib' -delete


Modified: build/spellcheck.m4
32 lines changed, 27 insertions(+), 5 deletions(-)
===================================================================
@@ -2,15 +2,37 @@ AC_DEFUN([GP_CHECK_SPELLCHECK],
 [
     GP_ARG_DISABLE([spellcheck], [auto])
 
+    ENCHANT_PACKAGE_NAME=enchant-2
     ENCHANT_VERSION=1.3
-    OPT_ENCHANT_VERSION=1.5
-    PKG_CHECK_MODULES([ENCHANT], [enchant >= ${OPT_ENCHANT_VERSION}],
-                      have_enchant_1_5=yes,
-                      have_enchant_1_5=no)
+    ENCHANT_VERSION_1_5=1.5
+    ENCHANT_VERSION_2_0=2.0
+    ENCHANT_VERSION_2_2=2.2
+
+    # check for enchant package
+    PKG_CHECK_MODULES([ENCHANT_2_2], [${ENCHANT_PACKAGE_NAME} >= ${ENCHANT_VERSION_2_2}],
+                      have_enchant_2_2=yes,
+                      have_enchant_2_2=no)
+    if [[ x"$have_enchant_2_2" = "xyes" ]]; then
+        # we have got the new enchant-2 package
+        have_enchant_1_5=yes
+        have_enchant_2_0=yes
+    else
+        # check for old enchant package
+        PKG_CHECK_MODULES([ENCHANT_1_5], [enchant >= ${ENCHANT_VERSION_1_5}],
+                          have_enchant_1_5=yes,
+                          have_enchant_1_5=no)
+        PKG_CHECK_MODULES([ENCHANT_2_0], [enchant >= ${ENCHANT_VERSION_2_0}],
+                          have_enchant_2_0=yes,
+                          have_enchant_2_0=no)
+
+        ENCHANT_PACKAGE_NAME=enchant
+    fi
+
     GP_CHECK_PLUGIN_DEPS([spellcheck], [ENCHANT],
-                         [enchant >= ${ENCHANT_VERSION}])
+                         [${ENCHANT_PACKAGE_NAME} >= ${ENCHANT_VERSION}])
 
     AM_CONDITIONAL([HAVE_ENCHANT_1_5], [test "$have_enchant_1_5" = yes])
+    AM_CONDITIONAL([HAVE_ENCHANT_2_0], [test "$have_enchant_2_0" = yes])
     GP_COMMIT_PLUGIN_STATUS([Spellcheck])
 
     AC_CONFIG_FILES([


Modified: build/treebrowser.m4
6 lines changed, 0 insertions(+), 6 deletions(-)
===================================================================
@@ -15,14 +15,8 @@ AC_DEFUN([GP_CHECK_TREEBROWSER],
             ])
     fi
 
-    PKG_CHECK_MODULES([GIO], [gio-2.0],
-        [AC_DEFINE([HAVE_GIO], 1, [Whether we have GIO])
-         have_gio=yes],
-        [have_gio=no])
-
     AM_CONDITIONAL(ENABLE_TREEBROWSER, test "x$enable_treebrowser" = "xyes")
     GP_COMMIT_PLUGIN_STATUS([TreeBrowser])
-    GP_STATUS_FEATURE_ADD([TreeBrowser GIO support], [$have_gio])
 
     AC_CONFIG_FILES([
         treebrowser/Makefile


Modified: build/workbench.m4
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -2,6 +2,7 @@ AC_DEFUN([GP_CHECK_WORKBENCH],
 [
     GP_ARG_DISABLE([Workbench], [auto])
     GP_CHECK_UTILSLIB([Workbench])
+
     GP_COMMIT_PLUGIN_STATUS([Workbench])
     AC_CONFIG_FILES([
         workbench/Makefile


Modified: configure.ac
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -1,6 +1,6 @@
 AC_PREREQ([2.61])
 dnl Don't forget when updating version number to do GP_CHECK_GEANY also
-AC_INIT([geany-plugins], [1.33])
+AC_INIT([geany-plugins], [1.34])
 AM_INIT_AUTOMAKE([1.8 foreign dist-bzip2 tar-ustar subdir-objects])
 
 m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])


Modified: geanyctags/src/geanyctags.c
8 lines changed, 4 insertions(+), 4 deletions(-)
===================================================================
@@ -221,8 +221,8 @@ on_generate_tags(GtkMenuItem *menuitem, gpointer user_data)
 #ifndef G_OS_WIN32
 		gchar *find_string = generate_find_string(prj);
 		cmd = g_strconcat(find_string,
-			" | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f ",
-			tag_filename, NULL);
+			" | ctags --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -L - -f '",
+			tag_filename, "'", NULL);
 		g_free(find_string);
 #else
 		/* We don't have find and | on windows, generate tags for all files in the project (-R recursively) */
@@ -232,8 +232,8 @@ on_generate_tags(GtkMenuItem *menuitem, gpointer user_data)
 		 * refuses to overwrite it. Therefore, we need to delete the tags file manually. */
 		g_unlink(tag_filename);
 
-		cmd = g_strconcat("ctags.exe -R --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -f ",
-			tag_filename, NULL);
+		cmd = g_strconcat("ctags.exe -R --totals --fields=fKsSt --extra=-fq --c-kinds=+p --sort=foldcase --excmd=number -f \"",
+			tag_filename, "\"", NULL);
 #endif
 
 		spawn_cmd(cmd, prj->base_path);


Modified: geanyinsertnum/src/insertnum.c
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -476,14 +476,14 @@ void plugin_init(G_GNUC_UNUSED GeanyData *data)
 	step_value = 1;
 	base_value = 10;
 
-	main_menu_item = gtk_menu_item_new_with_mnemonic(_("Insert _Numbers"));
+	main_menu_item = gtk_menu_item_new_with_mnemonic(_("Insert _Numbers..."));
 	gtk_widget_show(main_menu_item);
 	gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), main_menu_item);
 	g_signal_connect(main_menu_item, "activate", G_CALLBACK(on_insert_numbers_activate),
 		NULL);
 
 	keybindings_set_item(plugin_key_group, INSERT_NUMBERS_KB, on_insert_numbers_key,
-		0, 0, "insert_numbers", _("Insert Numbers"), main_menu_item);
+		0, 0, "insert_numbers", _("Insert Numbers..."), main_menu_item);
 
 	plugin_signal_connect(geany_plugin, G_OBJECT(geany->main_widgets->tools_menu), "show",
 		FALSE, (GCallback) on_tools_show, NULL);


Modified: geanylua/docs/geanylua-ref.html
60 lines changed, 46 insertions(+), 14 deletions(-)
===================================================================
@@ -136,7 +136,7 @@
 </tr>
 
 <tr class="odd">
-  <td>  function <a href="#newfile"><b>newfile</b></a> ( [filename] )<br></td>
+  <td>  function <a href="#newfile"><b>newfile</b></a> ( [filename [, filetype] )<br></td>
   <td class="desc">-- Create a new document.</td>
 </tr>
 
@@ -181,27 +181,27 @@
   <td class="desc">-- Send a GTK signal to a Geany interface widget.</td>
 </tr>
 
-<tr class="odd">
+<tr class="even">
   <td>  function <a href="#status"><b>status</b></a> ( message )<br></td>
   <td class="desc">-- Send a string to display in the status tab of the messages window.</td>
 </tr>
 
-<tr class="even">
+<tr class="odd">
   <td>  function <a href="#text"><b>text</b></a> ( [content] )<br></td>
   <td class="desc">-- Get or set the contents of the entire document.</td>
 </tr>
 
-<tr class="odd">
+<tr class="even">
   <td>  function <a href="#word"><b>word</b></a> ( [position] )<br></td>
   <td class="desc">-- Get the word at the specified location.</td>
 </tr>
 
-<tr class="even">
+<tr class="odd">
   <td>  function <a href="#xsel"><b>xsel</b></a> ( [text] )<br></td>
   <td class="desc">-- Get or set the contents of the primary X selection.</td>
 </tr>
 
-<tr class="odd">
+<tr class="even">
   <td>  function <a href="#yield"><b>yield</b></a> ()<br></td>
   <td class="desc">-- Refreshes the user interface.</td>
 </tr>
@@ -267,18 +267,22 @@
   <td class="desc">-- Run a script without the debug hook.</td>
 </tr>
 <tr class="odd">
+  <td>  function <a href="#reloadconf"><b>reloadconf</b></a> ()<br></td>
+  <td class="desc">-- Reload Configuration.</td>
+</tr>
+<tr class="even">
   <td>  function <a href="#rescan"><b>rescan</b></a> ()<br></td>
   <td class="desc">-- Regenerate the scripts menu.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <td>  function <a href="#stat"><b>stat</b></a> ( filename [, lstat] )<br></td>
   <td class="desc">-- Retrieve some information about a disk file.</td>
 </tr>
-<tr class="odd">
+<tr class="even">
   <td>  function <a href="#timeout"><b>timeout</b></a> ( seconds )<br></td>
   <td class="desc">-- Control maximum time allowed for script execution.</td>
 </tr>
-<tr class="even">
+<tr class="odd">
   <td>  function <a href="#wkdir"><b>wkdir</b></a> ( [folder] )<br></td>
   <td class="desc">-- Get or set the current working directory.</td>
 </tr>
@@ -756,11 +760,22 @@
 <br><br>
 
 
-<a name="newfile"></a><hr><h3><tt>geany.newfile ( [filename] )</tt></h3><p>
-When called with one argument, creates a new document with the specified
-<tt>filename</tt>. </p><p>When called with no arguments, creates a new, untitled document.
-</p><br><br>
-
+<a name="newfile"></a><hr><h3><tt>geany.newfile ( [filename [, filetype] )</tt></h3><p>
+<p>When called with no arguments, creates a new, untitled document.</p>
+<p>When called with one argument, creates a new document with the specified <tt>filename</tt>.</p>
+<p>When called with two argument, creates a new document with the specified
+<tt>filename</tt> and <tt>filetype</tt> (a one-word description of the filetype,
+e.g. "C" or "Python".). If you want untitled document then set <tt>filename</tt> as <tt>""</tt>.</p>
+<p>So you can use it like this:</p>
+<pre>local s = geany.selection();
+
+if (s ~= "") and (s ~= nil) then
+  local t = geany.fileinfo();
+  geany.newfile("", t.type);
+  geany.selection(s);
+end</pre>
+<p>(create a new, untitled document, with selected text and auto set filetype).</p>
+<br><br>
 
 
 <a name="open"></a><hr><h3><tt>geany.open ( [filename]|[index] )</tt></h3><p>
@@ -805,6 +820,23 @@
 <br><br>
 
 
+<a name="reloadconf"></a><hr><h3><tt>geany.reloadconf ()</tt></h3>
+<p>This function will cause Geany to reload most of it's configuration files without restarting
+(as menu item <b><i>Tools-><u>R</u>eload Configuration</i></b>).</p>
+<!-- The list was copied from https://geanypy.readthedocs.io/en/latest/api.html#geany.reload_configuration -->
+<p>Currently the following files are reloaded:</p>
+<ul>
+<li>all template files;</li>
+<li>new file templates;</li>
+<li>the New (with template) menus will be updated;</li>
+<li>Snippets (snippets.conf);</li>
+<li>filetype extensions (filetype_extensions.conf);</li>
+<li><i>setting</i>s and <i>build_settings</i> sections of the filetype definition files.</li>
+</ul>
+<p>This function which can be used if you updated one of these configuration files, or modified or added template files.</p>
+<br><br>
+
+
 <a name="rescan"></a><hr><h3><tt>geany.rescan ()</tt></h3><p>
 Scans the scripts folder, rebuilds the <b><i>Tools-><u>L</u>ua Scripts</i></b> menu,
 and re-initializes the GTK accelerator group (keybindings) associated with the plugin.


Modified: geanylua/examples/edit/right-trim.lua
4 lines changed, 2 insertions(+), 2 deletions(-)
===================================================================
@@ -5,9 +5,9 @@
 
 local s=geany.text()
 
-if (s and string.match(s, "[ \t]\n") )
+if (s and string.match(s, "[ \t][\r\n]") )
 then
-  geany.text(string.gsub(s,"[ \t]+\n", "\n"))
+  geany.text(string.gsub(s,"([ \t]+)([\r\n]+)", "%2"))
 else
   geany.message("Right trim:", "Match not found.")
 end


Modified: geanylua/glspi_app.c
36 lines changed, 22 insertions(+), 14 deletions(-)
===================================================================
@@ -604,22 +604,30 @@ static gint glspi_keygrab(lua_State* L)
 }
 
 
+static gint glspi_reloadconf(lua_State* L)
+{
+	main_reload_configuration();
+	return 0;
+}
+
+
 
 static const struct luaL_reg glspi_app_funcs[] = {
-	{"pluginver", glspi_pluginver},
-	{"appinfo",   glspi_appinfo},
-	{"xsel",      glspi_xsel},
-	{"signal",    glspi_signal},
-	{"stat",      glspi_stat},
-	{"status",    glspi_status},
-	{"basename",  glspi_basename},
-	{"dirname",   glspi_dirname},
-	{"fullpath",  glspi_fullpath},
-	{"dirlist",   glspi_dirlist},
-	{"wkdir",     glspi_wkdir},
-	{"keycmd",    glspi_keycmd},
-	{"launch",    glspi_launch},
-	{"keygrab",   glspi_keygrab},
+	{"pluginver",  glspi_pluginver},
+	{"appinfo",    glspi_appinfo},
+	{"xsel",       glspi_xsel},
+	{"signal",     glspi_signal},
+	{"stat",       glspi_stat},
+	{"status",     glspi_status},
+	{"basename",   glspi_basename},
+	{"dirname",    glspi_dirname},
+	{"fullpath",   glspi_fullpath},
+	{"dirlist",    glspi_dirlist},
+	{"wkdir",      glspi_wkdir},
+	{"keycmd",     glspi_keycmd},
+	{"launch",     glspi_launch},
+	{"keygrab",    glspi_keygrab},
+	{"reloadconf", glspi_reloadconf},
 	{NULL,NULL}
 };
 


Modified: geanylua/glspi_doc.c
17 lines changed, 14 insertions(+), 3 deletions(-)
===================================================================
@@ -32,12 +32,23 @@ static gint glspi_filename(lua_State* L)
 static gint glspi_newfile(lua_State* L)
 {
 	const gchar *fn=NULL;
-	if (lua_gettop(L)>0) {
+	GeanyFiletype *ft=NULL;
+	switch (lua_gettop(L)) {
+	case 0: break;
+	case 2:
+		if (!lua_isstring(L, 2))	{ return FAIL_STRING_ARG(2); }
+		const gchar *tmp=lua_tostring(L, 2);
+		if ( '\0' == tmp[0] ) {
+			ft=NULL;
+		} else {
+			ft=filetypes_lookup_by_name(tmp);
+		}
+	default:
 		if (!lua_isstring(L, 1))	{ return FAIL_STRING_ARG(1); }
 		fn=lua_tostring(L, 1);
-		if ( '\0' == fn[0] ) { fn = NULL; }
+		if ( '\0' == fn[0] ) { fn=NULL; }
 	}
-	document_new_file(fn, NULL, NULL);
+	document_new_file(fn, ft, NULL);
 	return 0;
 }
 


Modified: geanylua/glspi_keycmd.h
204 lines changed, 128 insertions(+), 76 deletions(-)
===================================================================
@@ -18,103 +18,155 @@ typedef struct _KeyCmdHashEntry {
 
 
 static KeyCmdHashEntry key_cmd_hash_entries[] = {
+	{"BUILD_COMPILE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_COMPILE},
+	{"BUILD_LINK", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_LINK},
+	{"BUILD_MAKE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKE},
+	{"BUILD_MAKEOBJECT", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOBJECT},
+	{"BUILD_MAKEOWNTARGET", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOWNTARGET},
+	{"BUILD_NEXTERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_NEXTERROR},
+	{"BUILD_OPTIONS", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_OPTIONS},
+	{"BUILD_PREVIOUSERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_PREVIOUSERROR},
+	{"BUILD_RUN", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_RUN},
+	{"CLIPBOARD_COPY", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPY},
+	{"CLIPBOARD_COPYLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPYLINE},
+	{"CLIPBOARD_CUT", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUT},
+	{"CLIPBOARD_CUTLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUTLINE},
+	{"CLIPBOARD_PASTE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_PASTE},
+	{"COUNT", GEANY_KEY_GROUP_COUNT, GEANY_KEYS_COUNT},
+	{"DOCUMENT_CLONE", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_CLONE},
+	{"DOCUMENT_FOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_FOLDALL},
+	{"DOCUMENT_LINEBREAK", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_LINEBREAK},
+	{"DOCUMENT_LINEWRAP", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_LINEWRAP},
+	{"DOCUMENT_RELOADTAGLIST", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_RELOADTAGLIST},
+	{"DOCUMENT_REMOVE_ERROR_INDICATORS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_ERROR_INDICATORS},
+	{"DOCUMENT_REMOVE_MARKERS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_MARKERS},
+	{"DOCUMENT_REMOVE_MARKERS_INDICATORS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REMOVE_MARKERS_INDICATORS},
+	{"DOCUMENT_REPLACESPACES", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACESPACES},
+	{"DOCUMENT_REPLACETABS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACETABS},
+	{"DOCUMENT_TOGGLEFOLD", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_TOGGLEFOLD},
+	{"DOCUMENT_UNFOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_UNFOLDALL},
+	{"EDITOR_AUTOCOMPLETE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_AUTOCOMPLETE},
+	{"EDITOR_CALLTIP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CALLTIP},
+	{"EDITOR_COMPLETESNIPPET", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_COMPLETESNIPPET},
+	{"EDITOR_CONTEXTACTION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CONTEXTACTION},
+	{"EDITOR_DELETELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINE},
+	{"EDITOR_DELETELINETOBEGINNING", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINETOBEGINNING},
+	{"EDITOR_DELETELINETOEND", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINETOEND},
+	{"EDITOR_DUPLICATELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DUPLICATELINE},
+	{"EDITOR_MACROLIST", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MACROLIST},
+	{"EDITOR_MOVELINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEDOWN},
+	{"EDITOR_MOVELINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MOVELINEUP},
+	{"EDITOR_REDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_REDO},
+	{"EDITOR_SCROLLLINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEDOWN},
+	{"EDITOR_SCROLLLINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEUP},
+	{"EDITOR_SCROLLTOLINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLTOLINE},
+	{"EDITOR_SNIPPETNEXTCURSOR", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SNIPPETNEXTCURSOR},
+	{"EDITOR_SUPPRESSSNIPPETCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION},
+	{"EDITOR_TRANSPOSELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_TRANSPOSELINE},
+	{"EDITOR_UNDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_UNDO},
+	{"EDITOR_WORDPARTCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_WORDPARTCOMPLETION},
+	{"FILE_CLOSE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSE},
+	{"FILE_CLOSEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSEALL},
 	{"FILE_NEW", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_NEW},
 	{"FILE_OPEN", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPEN},
+	{"FILE_OPENLASTTAB", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPENLASTTAB},
 	{"FILE_OPENSELECTED", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_OPENSELECTED},
-	{"FILE_SAVE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVE},
-	{"FILE_SAVEAS", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEAS},
-	{"FILE_SAVEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEALL},
 	{"FILE_PRINT", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_PRINT},
-	{"FILE_CLOSE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSE},
-	{"FILE_CLOSEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_CLOSEALL},
+	{"FILE_PROPERTIES", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_PROPERTIES},
+	{"FILE_QUIT", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_QUIT},
 	{"FILE_RELOAD", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_RELOAD},
-	{"PROJECT_PROPERTIES", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_PROPERTIES},
-	{"EDITOR_UNDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_UNDO},
-	{"EDITOR_REDO", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_REDO},
-	{"EDITOR_DELETELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DELETELINE},
-	{"EDITOR_DUPLICATELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_DUPLICATELINE},
-	{"EDITOR_TRANSPOSELINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_TRANSPOSELINE},
-	{"EDITOR_SCROLLTOLINE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLTOLINE},
-	{"EDITOR_SCROLLLINEUP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEUP},
-	{"EDITOR_SCROLLLINEDOWN", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SCROLLLINEDOWN},
-	{"EDITOR_COMPLETESNIPPET", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_COMPLETESNIPPET},
-	{"EDITOR_SUPPRESSSNIPPETCOMPLETION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_SUPPRESSSNIPPETCOMPLETION},
-	{"EDITOR_CONTEXTACTION", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CONTEXTACTION},
-	{"EDITOR_AUTOCOMPLETE", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_AUTOCOMPLETE},
-	{"EDITOR_CALLTIP", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_CALLTIP},
-	{"EDITOR_MACROLIST", GEANY_KEY_GROUP_EDITOR, GEANY_KEYS_EDITOR_MACROLIST},
-	{"CLIPBOARD_CUT", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUT},
-	{"CLIPBOARD_COPY", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPY},
-	{"CLIPBOARD_PASTE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_PASTE},
-	{"CLIPBOARD_CUTLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_CUTLINE},
-	{"CLIPBOARD_COPYLINE", GEANY_KEY_GROUP_CLIPBOARD, GEANY_KEYS_CLIPBOARD_COPYLINE},
-	{"SELECT_ALL", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_ALL},
-	{"SELECT_WORD", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORD},
-	{"SELECT_LINE", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_LINE},
-	{"SELECT_PARAGRAPH", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_PARAGRAPH},
-	{"FORMAT_TOGGLECASE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_TOGGLECASE},
-	{"FORMAT_COMMENTLINETOGGLE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINETOGGLE},
+	{"FILE_SAVE", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVE},
+	{"FILE_SAVEALL", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEALL},
+	{"FILE_SAVEAS", GEANY_KEY_GROUP_FILE, GEANY_KEYS_FILE_SAVEAS},
+	{"FOCUS_COMPILER", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_COMPILER},
+	{"FOCUS_EDITOR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_EDITOR},
+	{"FOCUS_MESSAGES", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_MESSAGES},
+	{"FOCUS_MESSAGE_WINDOW", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_MESSAGE_WINDOW},
+	{"FOCUS_SCRIBBLE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SCRIBBLE},
+	{"FOCUS_SEARCHBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SEARCHBAR},
+	{"FOCUS_SIDEBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR},
+	{"FOCUS_SIDEBAR_DOCUMENT_LIST", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR_DOCUMENT_LIST},
+	{"FOCUS_SIDEBAR_SYMBOL_LIST", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SIDEBAR_SYMBOL_LIST},
+	{"FOCUS_VTE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_VTE},
+	{"FORMAT_AUTOINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_AUTOINDENT},
 	{"FORMAT_COMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINE},
-	{"FORMAT_UNCOMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_UNCOMMENTLINE},
-	{"FORMAT_INCREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENT},
+	{"FORMAT_COMMENTLINETOGGLE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_COMMENTLINETOGGLE},
 	{"FORMAT_DECREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_DECREASEINDENT},
-	{"FORMAT_INCREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE},
 	{"FORMAT_DECREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_DECREASEINDENTBYSPACE},
-	{"FORMAT_AUTOINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_AUTOINDENT},
+	{"FORMAT_INCREASEINDENT", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENT},
+	{"FORMAT_INCREASEINDENTBYSPACE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_INCREASEINDENTBYSPACE},
+	{"FORMAT_JOINLINES", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_JOINLINES},
+	{"FORMAT_REFLOWPARAGRAPH", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_REFLOWPARAGRAPH},
 	{"FORMAT_SENDTOCMD1", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD1},
 	{"FORMAT_SENDTOCMD2", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD2},
 	{"FORMAT_SENDTOCMD3", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD3},
-	{"INSERT_DATE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_DATE},
-	{"INSERT_ALTWHITESPACE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_ALTWHITESPACE},
-	{"SETTINGS_PREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PREFERENCES},
-	{"SEARCH_FIND", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FIND},
-	{"SEARCH_FINDNEXT", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXT},
-	{"SEARCH_FINDPREVIOUS", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVIOUS},
-	{"SEARCH_FINDINFILES", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDINFILES},
-	{"SEARCH_REPLACE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_REPLACE},
-	{"SEARCH_FINDNEXTSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXTSEL},
-	{"SEARCH_FINDPREVSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVSEL},
-	{"SEARCH_NEXTMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_NEXTMESSAGE},
-	{"SEARCH_FINDUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDUSAGE},
-	{"GOTO_FORWARD", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_FORWARD},
+	{"FORMAT_SENDTOCMD4", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD4},
+	{"FORMAT_SENDTOCMD5", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD5},
+	{"FORMAT_SENDTOCMD6", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD6},
+	{"FORMAT_SENDTOCMD7", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD7},
+	{"FORMAT_SENDTOCMD8", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD8},
+	{"FORMAT_SENDTOCMD9", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOCMD9},
+	{"FORMAT_SENDTOVTE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_SENDTOVTE},
+	{"FORMAT_TOGGLECASE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_TOGGLECASE},
+	{"FORMAT_UNCOMMENTLINE", GEANY_KEY_GROUP_FORMAT, GEANY_KEYS_FORMAT_UNCOMMENTLINE},
 	{"GOTO_BACK", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_BACK},
+	{"GOTO_FORWARD", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_FORWARD},
 	{"GOTO_LINE", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINE},
+	{"GOTO_LINEEND", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINEEND},
+	{"GOTO_LINEENDVISUAL", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINEENDVISUAL},
+	{"GOTO_LINESTART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINESTART},
+	{"GOTO_LINESTARTVISUAL", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_LINESTARTVISUAL},
 	{"GOTO_MATCHINGBRACE", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_MATCHINGBRACE},
-	{"GOTO_TOGGLEMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TOGGLEMARKER},
 	{"GOTO_NEXTMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_NEXTMARKER},
+	{"GOTO_NEXTWORDPART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_NEXTWORDPART},
 	{"GOTO_PREVIOUSMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_PREVIOUSMARKER},
-	{"GOTO_TAGDEFINITION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDEFINITION},
+	{"GOTO_PREVWORDPART", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_PREVWORDPART},
 	{"GOTO_TAGDECLARATION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDECLARATION},
-	{"VIEW_TOGGLEALL", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_TOGGLEALL},
+	{"GOTO_TAGDEFINITION", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TAGDEFINITION},
+	{"GOTO_TOGGLEMARKER", GEANY_KEY_GROUP_GOTO, GEANY_KEYS_GOTO_TOGGLEMARKER},
+	{"HELP_HELP", GEANY_KEY_GROUP_HELP, GEANY_KEYS_HELP_HELP},
+	{"INSERT_ALTWHITESPACE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_ALTWHITESPACE},
+	{"INSERT_DATE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_DATE},
+	{"INSERT_LINEAFTER", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_LINEAFTER},
+	{"INSERT_LINEBEFORE", GEANY_KEY_GROUP_INSERT, GEANY_KEYS_INSERT_LINEBEFORE},
+	{"NOTEBOOK_MOVETABFIRST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABFIRST},
+	{"NOTEBOOK_MOVETABLAST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLAST},
+	{"NOTEBOOK_MOVETABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLEFT},
+	{"NOTEBOOK_MOVETABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABRIGHT},
+	{"NOTEBOOK_SWITCHTABLASTUSED", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED},
+	{"NOTEBOOK_SWITCHTABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT},
+	{"NOTEBOOK_SWITCHTABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT},
+	{"PROJECT_CLOSE", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_CLOSE},
+	{"PROJECT_NEW", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_NEW},
+	{"PROJECT_OPEN", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_OPEN},
+	{"PROJECT_PROPERTIES", GEANY_KEY_GROUP_PROJECT, GEANY_KEYS_PROJECT_PROPERTIES},
+	{"SEARCH_FIND", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FIND},
+	{"SEARCH_FINDDOCUMENTUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDDOCUMENTUSAGE},
+	{"SEARCH_FINDINFILES", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDINFILES},
+	{"SEARCH_FINDNEXT", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXT},
+	{"SEARCH_FINDNEXTSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDNEXTSEL},
+	{"SEARCH_FINDPREVIOUS", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVIOUS},
+	{"SEARCH_FINDPREVSEL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDPREVSEL},
+	{"SEARCH_FINDUSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_FINDUSAGE},
+	{"SEARCH_MARKALL", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_MARKALL},
+	{"SEARCH_NEXTMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_NEXTMESSAGE},
+	{"SEARCH_PREVIOUSMESSAGE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_PREVIOUSMESSAGE},
+	{"SEARCH_REPLACE", GEANY_KEY_GROUP_SEARCH, GEANY_KEYS_SEARCH_REPLACE},
+	{"SELECT_ALL", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_ALL},
+	{"SELECT_LINE", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_LINE},
+	{"SELECT_PARAGRAPH", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_PARAGRAPH},
+	{"SELECT_WORD", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORD},
+	{"SELECT_WORDPARTLEFT", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORDPARTLEFT},
+	{"SELECT_WORDPARTRIGHT", GEANY_KEY_GROUP_SELECT, GEANY_KEYS_SELECT_WORDPARTRIGHT},
+	{"SETTINGS_PLUGINPREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PLUGINPREFERENCES},
+	{"SETTINGS_PREFERENCES", GEANY_KEY_GROUP_SETTINGS, GEANY_KEYS_SETTINGS_PREFERENCES},
+	{"TOOLS_OPENCOLORCHOOSER", GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER},
 	{"VIEW_FULLSCREEN", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_FULLSCREEN},
 	{"VIEW_MESSAGEWINDOW", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_MESSAGEWINDOW},
 	{"VIEW_SIDEBAR", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_SIDEBAR},
+	{"VIEW_TOGGLEALL", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_TOGGLEALL},
 	{"VIEW_ZOOMIN", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMIN},
 	{"VIEW_ZOOMOUT", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMOUT},
-	{"FOCUS_EDITOR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_EDITOR},
-	{"FOCUS_SCRIBBLE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SCRIBBLE},
-	{"FOCUS_VTE", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_VTE},
-	{"FOCUS_SEARCHBAR", GEANY_KEY_GROUP_FOCUS, GEANY_KEYS_FOCUS_SEARCHBAR},
-	{"NOTEBOOK_SWITCHTABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLEFT},
-	{"NOTEBOOK_SWITCHTABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABRIGHT},
-	{"NOTEBOOK_SWITCHTABLASTUSED", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_SWITCHTABLASTUSED},
-	{"NOTEBOOK_MOVETABLEFT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLEFT},
-	{"NOTEBOOK_MOVETABRIGHT", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABRIGHT},
-	{"NOTEBOOK_MOVETABFIRST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABFIRST},
-	{"NOTEBOOK_MOVETABLAST", GEANY_KEY_GROUP_NOTEBOOK, GEANY_KEYS_NOTEBOOK_MOVETABLAST},
-	{"DOCUMENT_REPLACETABS", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_REPLACETABS},
-	{"DOCUMENT_FOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_FOLDALL},
-	{"DOCUMENT_UNFOLDALL", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_UNFOLDALL},
-	{"DOCUMENT_RELOADTAGLIST", GEANY_KEY_GROUP_DOCUMENT, GEANY_KEYS_DOCUMENT_RELOADTAGLIST},
-	{"BUILD_COMPILE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_COMPILE},
-	{"BUILD_LINK", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_LINK},
-	{"BUILD_MAKE", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKE},
-	{"BUILD_MAKEOWNTARGET", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOWNTARGET},
-	{"BUILD_MAKEOBJECT", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_MAKEOBJECT},
-	{"BUILD_NEXTERROR", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_NEXTERROR},
-	{"BUILD_RUN", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_RUN},
-	{"BUILD_OPTIONS", GEANY_KEY_GROUP_BUILD, GEANY_KEYS_BUILD_OPTIONS},
-	{"TOOLS_OPENCOLORCHOOSER", GEANY_KEY_GROUP_TOOLS, GEANY_KEYS_TOOLS_OPENCOLORCHOOSER},
-	{"HELP_HELP", GEANY_KEY_GROUP_HELP, GEANY_KEYS_HELP_HELP},
+	{"VIEW_ZOOMRESET", GEANY_KEY_GROUP_VIEW, GEANY_KEYS_VIEW_ZOOMRESET},
 	{NULL, 0, 0}
 };


Modified: geanylua/glspi_sci.h
35 lines changed, 29 insertions(+), 6 deletions(-)
===================================================================
@@ -57,6 +57,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETUNDOCOLLECTION", SLT_BOOL, SCI_GETUNDOCOLLECTION, SLT_VOID, SLT_VOID},
 	{"GETVIEWWS", SLT_INT, SCI_GETVIEWWS, SLT_VOID, SLT_VOID},
 	{"SETVIEWWS", SLT_VOID, SCI_SETVIEWWS, SLT_INT, SLT_VOID},
+	{"GETTABDRAWMODE", SLT_INT, SCI_GETTABDRAWMODE, SLT_VOID, SLT_VOID},
+	{"SETTABDRAWMODE", SLT_VOID, SCI_SETTABDRAWMODE, SLT_INT, SLT_VOID},
 	{"POSITIONFROMPOINT", SLT_INT, SCI_POSITIONFROMPOINT, SLT_INT, SLT_INT},
 	{"POSITIONFROMPOINTCLOSE", SLT_INT, SCI_POSITIONFROMPOINTCLOSE, SLT_INT, SLT_INT},
 	{"GOTOLINE", SLT_VOID, SCI_GOTOLINE, SLT_INT, SLT_VOID},
@@ -103,6 +105,10 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETMARGINSENSITIVEN", SLT_BOOL, SCI_GETMARGINSENSITIVEN, SLT_INT, SLT_VOID},
 	{"SETMARGINCURSORN", SLT_VOID, SCI_SETMARGINCURSORN, SLT_INT, SLT_INT},
 	{"GETMARGINCURSORN", SLT_INT, SCI_GETMARGINCURSORN, SLT_INT, SLT_VOID},
+	{"SETMARGINBACKN", SLT_VOID, SCI_SETMARGINBACKN, SLT_INT, SLT_INT},
+	{"GETMARGINBACKN", SLT_INT, SCI_GETMARGINBACKN, SLT_INT, SLT_VOID},
+	{"SETMARGINS", SLT_VOID, SCI_SETMARGINS, SLT_INT, SLT_VOID},
+	{"GETMARGINS", SLT_INT, SCI_GETMARGINS, SLT_VOID, SLT_VOID},
 	{"STYLECLEARALL", SLT_VOID, SCI_STYLECLEARALL, SLT_VOID, SLT_VOID},
 	{"STYLESETFORE", SLT_VOID, SCI_STYLESETFORE, SLT_INT, SLT_INT},
 	{"STYLESETBACK", SLT_VOID, SCI_STYLESETBACK, SLT_INT, SLT_INT},
@@ -176,6 +182,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"SETCARETLINEVISIBLE", SLT_VOID, SCI_SETCARETLINEVISIBLE, SLT_BOOL, SLT_VOID},
 	{"GETCARETLINEBACK", SLT_INT, SCI_GETCARETLINEBACK, SLT_VOID, SLT_VOID},
 	{"SETCARETLINEBACK", SLT_VOID, SCI_SETCARETLINEBACK, SLT_INT, SLT_VOID},
+	{"GETCARETLINEFRAME", SLT_INT, SCI_GETCARETLINEFRAME, SLT_VOID, SLT_VOID},
+	{"SETCARETLINEFRAME", SLT_VOID, SCI_SETCARETLINEFRAME, SLT_INT, SLT_VOID},
 	{"STYLESETCHANGEABLE", SLT_VOID, SCI_STYLESETCHANGEABLE, SLT_INT, SLT_BOOL},
 	{"AUTOCSHOW", SLT_VOID, SCI_AUTOCSHOW, SLT_INT, SLT_STRING},
 	{"AUTOCCANCEL", SLT_VOID, SCI_AUTOCCANCEL, SLT_VOID, SLT_VOID},
@@ -282,6 +290,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETTARGETEND", SLT_INT, SCI_GETTARGETEND, SLT_VOID, SLT_VOID},
 	{"SETTARGETRANGE", SLT_VOID, SCI_SETTARGETRANGE, SLT_INT, SLT_INT},
 	{"GETTARGETTEXT", SLT_INT, SCI_GETTARGETTEXT, SLT_VOID, SLT_STRINGRESULT},
+	{"TARGETFROMSELECTION", SLT_VOID, SCI_TARGETFROMSELECTION, SLT_VOID, SLT_VOID},
+	{"TARGETWHOLEDOCUMENT", SLT_VOID, SCI_TARGETWHOLEDOCUMENT, SLT_VOID, SLT_VOID},
 	{"REPLACETARGET", SLT_INT, SCI_REPLACETARGET, SLT_INT, SLT_STRING},
 	{"REPLACETARGETRE", SLT_INT, SCI_REPLACETARGETRE, SLT_INT, SLT_STRING},
 	{"SEARCHINTARGET", SLT_INT, SCI_SEARCHINTARGET, SLT_INT, SLT_STRING},
@@ -312,6 +322,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"SETFOLDEXPANDED", SLT_VOID, SCI_SETFOLDEXPANDED, SLT_INT, SLT_BOOL},
 	{"GETFOLDEXPANDED", SLT_BOOL, SCI_GETFOLDEXPANDED, SLT_INT, SLT_VOID},
 	{"TOGGLEFOLD", SLT_VOID, SCI_TOGGLEFOLD, SLT_INT, SLT_VOID},
+	{"TOGGLEFOLDSHOWTEXT", SLT_VOID, SCI_TOGGLEFOLDSHOWTEXT, SLT_INT, SLT_STRING},
+	{"FOLDDISPLAYTEXTSETSTYLE", SLT_VOID, SCI_FOLDDISPLAYTEXTSETSTYLE, SLT_INT, SLT_VOID},
 	{"FOLDLINE", SLT_VOID, SCI_FOLDLINE, SLT_INT, SLT_INT},
 	{"FOLDCHILDREN", SLT_VOID, SCI_FOLDCHILDREN, SLT_INT, SLT_INT},
 	{"EXPANDCHILDREN", SLT_VOID, SCI_EXPANDCHILDREN, SLT_INT, SLT_INT},
@@ -329,6 +341,9 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETMOUSEDWELLTIME", SLT_INT, SCI_GETMOUSEDWELLTIME, SLT_VOID, SLT_VOID},
 	{"WORDSTARTPOSITION", SLT_INT, SCI_WORDSTARTPOSITION, SLT_INT, SLT_BOOL},
 	{"WORDENDPOSITION", SLT_INT, SCI_WORDENDPOSITION, SLT_INT, SLT_BOOL},
+	{"ISRANGEWORD", SLT_BOOL, SCI_ISRANGEWORD, SLT_INT, SLT_INT},
+	{"SETIDLESTYLING", SLT_VOID, SCI_SETIDLESTYLING, SLT_INT, SLT_VOID},
+	{"GETIDLESTYLING", SLT_INT, SCI_GETIDLESTYLING, SLT_VOID, SLT_VOID},
 	{"SETWRAPMODE", SLT_VOID, SCI_SETWRAPMODE, SLT_INT, SLT_VOID},
 	{"GETWRAPMODE", SLT_INT, SCI_GETWRAPMODE, SLT_VOID, SLT_VOID},
 	{"SETWRAPVISUALFLAGS", SLT_VOID, SCI_SETWRAPVISUALFLAGS, SLT_INT, SLT_VOID},
@@ -362,11 +377,12 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"SETMULTIPASTE", SLT_VOID, SCI_SETMULTIPASTE, SLT_INT, SLT_VOID},
 	{"GETMULTIPASTE", SLT_INT, SCI_GETMULTIPASTE, SLT_VOID, SLT_VOID},
 	{"GETTAG", SLT_INT, SCI_GETTAG, SLT_INT, SLT_STRINGRESULT},
-	{"TARGETFROMSELECTION", SLT_VOID, SCI_TARGETFROMSELECTION, SLT_VOID, SLT_VOID},
 	{"LINESJOIN", SLT_VOID, SCI_LINESJOIN, SLT_VOID, SLT_VOID},
 	{"LINESSPLIT", SLT_VOID, SCI_LINESSPLIT, SLT_INT, SLT_VOID},
 	{"SETFOLDMARGINCOLOUR", SLT_VOID, SCI_SETFOLDMARGINCOLOUR, SLT_BOOL, SLT_INT},
 	{"SETFOLDMARGINHICOLOUR", SLT_VOID, SCI_SETFOLDMARGINHICOLOUR, SLT_BOOL, SLT_INT},
+	{"SETACCESSIBILITY", SLT_VOID, SCI_SETACCESSIBILITY, SLT_INT, SLT_VOID},
+	{"GETACCESSIBILITY", SLT_INT, SCI_GETACCESSIBILITY, SLT_VOID, SLT_VOID},
 	{"LINEDOWN", SLT_VOID, SCI_LINEDOWN, SLT_VOID, SLT_VOID},
 	{"LINEDOWNEXTEND", SLT_VOID, SCI_LINEDOWNEXTEND, SLT_VOID, SLT_VOID},
 	{"LINEUP", SLT_VOID, SCI_LINEUP, SLT_VOID, SLT_VOID},
@@ -408,6 +424,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"LINECUT", SLT_VOID, SCI_LINECUT, SLT_VOID, SLT_VOID},
 	{"LINEDELETE", SLT_VOID, SCI_LINEDELETE, SLT_VOID, SLT_VOID},
 	{"LINETRANSPOSE", SLT_VOID, SCI_LINETRANSPOSE, SLT_VOID, SLT_VOID},
+	{"LINEREVERSE", SLT_VOID, SCI_LINEREVERSE, SLT_VOID, SLT_VOID},
 	{"LINEDUPLICATE", SLT_VOID, SCI_LINEDUPLICATE, SLT_VOID, SLT_VOID},
 	{"LOWERCASE", SLT_VOID, SCI_LOWERCASE, SLT_VOID, SLT_VOID},
 	{"UPPERCASE", SLT_VOID, SCI_UPPERCASE, SLT_VOID, SLT_VOID},
@@ -431,7 +448,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"BRACEHIGHLIGHTINDICATOR", SLT_VOID, SCI_BRACEHIGHLIGHTINDICATOR, SLT_BOOL, SLT_INT},
 	{"BRACEBADLIGHT", SLT_VOID, SCI_BRACEBADLIGHT, SLT_INT, SLT_VOID},
 	{"BRACEBADLIGHTINDICATOR", SLT_VOID, SCI_BRACEBADLIGHTINDICATOR, SLT_BOOL, SLT_INT},
-	{"BRACEMATCH", SLT_INT, SCI_BRACEMATCH, SLT_INT, SLT_VOID},
+	{"BRACEMATCH", SLT_INT, SCI_BRACEMATCH, SLT_INT, SLT_INT},
 	{"GETVIEWEOL", SLT_BOOL, SCI_GETVIEWEOL, SLT_VOID, SLT_VOID},
 	{"SETVIEWEOL", SLT_VOID, SCI_SETVIEWEOL, SLT_BOOL, SLT_VOID},
 	{"GETDOCPOINTER", SLT_INT, SCI_GETDOCPOINTER, SLT_VOID, SLT_VOID},
@@ -443,11 +460,13 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"SETEDGEMODE", SLT_VOID, SCI_SETEDGEMODE, SLT_INT, SLT_VOID},
 	{"GETEDGECOLOUR", SLT_INT, SCI_GETEDGECOLOUR, SLT_VOID, SLT_VOID},
 	{"SETEDGECOLOUR", SLT_VOID, SCI_SETEDGECOLOUR, SLT_INT, SLT_VOID},
+	{"MULTIEDGEADDLINE", SLT_VOID, SCI_MULTIEDGEADDLINE, SLT_INT, SLT_INT},
+	{"MULTIEDGECLEARALL", SLT_VOID, SCI_MULTIEDGECLEARALL, SLT_VOID, SLT_VOID},
 	{"SEARCHANCHOR", SLT_VOID, SCI_SEARCHANCHOR, SLT_VOID, SLT_VOID},
 	{"SEARCHNEXT", SLT_INT, SCI_SEARCHNEXT, SLT_INT, SLT_STRING},
 	{"SEARCHPREV", SLT_INT, SCI_SEARCHPREV, SLT_INT, SLT_STRING},
 	{"LINESONSCREEN", SLT_INT, SCI_LINESONSCREEN, SLT_VOID, SLT_VOID},
-	{"USEPOPUP", SLT_VOID, SCI_USEPOPUP, SLT_BOOL, SLT_VOID},
+	{"USEPOPUP", SLT_VOID, SCI_USEPOPUP, SLT_INT, SLT_VOID},
 	{"SELECTIONISRECTANGLE", SLT_BOOL, SCI_SELECTIONISRECTANGLE, SLT_VOID, SLT_VOID},
 	{"SETZOOM", SLT_VOID, SCI_SETZOOM, SLT_INT, SLT_VOID},
 	{"GETZOOM", SLT_INT, SCI_GETZOOM, SLT_VOID, SLT_VOID},
@@ -461,6 +480,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETSTATUS", SLT_INT, SCI_GETSTATUS, SLT_VOID, SLT_VOID},
 	{"SETMOUSEDOWNCAPTURES", SLT_VOID, SCI_SETMOUSEDOWNCAPTURES, SLT_BOOL, SLT_VOID},
 	{"GETMOUSEDOWNCAPTURES", SLT_BOOL, SCI_GETMOUSEDOWNCAPTURES, SLT_VOID, SLT_VOID},
+	{"SETMOUSEWHEELCAPTURES", SLT_VOID, SCI_SETMOUSEWHEELCAPTURES, SLT_BOOL, SLT_VOID},
+	{"GETMOUSEWHEELCAPTURES", SLT_BOOL, SCI_GETMOUSEWHEELCAPTURES, SLT_VOID, SLT_VOID},
 	{"SETCURSOR", SLT_VOID, SCI_SETCURSOR, SLT_INT, SLT_VOID},
 	{"GETCURSOR", SLT_INT, SCI_GETCURSOR, SLT_VOID, SLT_VOID},
 	{"SETCONTROLCHARSYMBOL", SLT_VOID, SCI_SETCONTROLCHARSYMBOL, SLT_INT, SLT_VOID},
@@ -612,8 +633,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETSELECTIONS", SLT_INT, SCI_GETSELECTIONS, SLT_VOID, SLT_VOID},
 	{"GETSELECTIONEMPTY", SLT_BOOL, SCI_GETSELECTIONEMPTY, SLT_VOID, SLT_VOID},
 	{"CLEARSELECTIONS", SLT_VOID, SCI_CLEARSELECTIONS, SLT_VOID, SLT_VOID},
-	{"SETSELECTION", SLT_INT, SCI_SETSELECTION, SLT_INT, SLT_INT},
-	{"ADDSELECTION", SLT_INT, SCI_ADDSELECTION, SLT_INT, SLT_INT},
+	{"SETSELECTION", SLT_VOID, SCI_SETSELECTION, SLT_INT, SLT_INT},
+	{"ADDSELECTION", SLT_VOID, SCI_ADDSELECTION, SLT_INT, SLT_INT},
 	{"DROPSELECTIONN", SLT_VOID, SCI_DROPSELECTIONN, SLT_INT, SLT_VOID},
 	{"SETMAINSELECTION", SLT_VOID, SCI_SETMAINSELECTION, SLT_INT, SLT_VOID},
 	{"GETMAINSELECTION", SLT_INT, SCI_GETMAINSELECTION, SLT_VOID, SLT_VOID},
@@ -649,6 +670,8 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"GETADDITIONALCARETFORE", SLT_INT, SCI_GETADDITIONALCARETFORE, SLT_VOID, SLT_VOID},
 	{"ROTATESELECTION", SLT_VOID, SCI_ROTATESELECTION, SLT_VOID, SLT_VOID},
 	{"SWAPMAINANCHORCARET", SLT_VOID, SCI_SWAPMAINANCHORCARET, SLT_VOID, SLT_VOID},
+	{"MULTIPLESELECTADDNEXT", SLT_VOID, SCI_MULTIPLESELECTADDNEXT, SLT_VOID, SLT_VOID},
+	{"MULTIPLESELECTADDEACH", SLT_VOID, SCI_MULTIPLESELECTADDEACH, SLT_VOID, SLT_VOID},
 	{"CHANGELEXERSTATE", SLT_INT, SCI_CHANGELEXERSTATE, SLT_INT, SLT_INT},
 	{"CONTRACTEDFOLDNEXT", SLT_INT, SCI_CONTRACTEDFOLDNEXT, SLT_INT, SLT_VOID},
 	{"VERTICALCENTRECARET", SLT_VOID, SCI_VERTICALCENTRECARET, SLT_VOID, SLT_VOID},
@@ -690,7 +713,7 @@ static SciCmdHashEntry sci_cmd_hash_entries[] = {
 	{"LOADLEXERLIBRARY", SLT_VOID, SCI_LOADLEXERLIBRARY, SLT_VOID, SLT_STRING},
 	{"GETPROPERTY", SLT_INT, SCI_GETPROPERTY, SLT_STRING, SLT_STRINGRESULT},
 	{"GETPROPERTYEXPANDED", SLT_INT, SCI_GETPROPERTYEXPANDED, SLT_STRING, SLT_STRINGRESULT},
-	{"GETPROPERTYINT", SLT_INT, SCI_GETPROPERTYINT, SLT_STRING, SLT_VOID},
+	{"GETPROPERTYINT", SLT_INT, SCI_GETPROPERTYINT, SLT_STRING, SLT_INT},
 	{"GETSTYLEBITSNEEDED", SLT_INT, SCI_GETSTYLEBITSNEEDED, SLT_VOID, SLT_VOID},
 	{"GETLEXERLANGUAGE", SLT_INT, SCI_GETLEXERLANGUAGE, SLT_VOID, SLT_STRINGRESULT},
 	{"PRIVATELEXERCALL", SLT_INT, SCI_PRIVATELEXERCALL, SLT_INT, SLT_INT},


Modified: geanylua/keywords.list
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -7,4 +7,4 @@
 word5=0xf0a000;0xffffff;false;false
 
 ## Put this in the [keywords] section:
-user1=geany.activate geany.appinfo geany.banner geany.basename geany.batch geany.byte geany.caller geany.caret geany.choose geany.close geany.confirm geany.copy geany.count geany.cut geany.dirlist geany.dirname geany.dirsep geany.documents geany.fileinfo geany.filename geany.find geany.fullpath geany.height geany.input geany.keycmd geany.keygrab geany.launch geany.length geany.lines geany.match geany.message geany.navigate geany.newfile geany.open geany.optimize geany.paste geany.pickfile geany.pluginver geany.rectsel geany.rescan geany.rowcol geany.save geany.scintilla geany.script geany.select geany.selection geany.signal geany.stat geany.status geany.text geany.timeout geany.wkdir geany.word geany.wordchars geany.xsel geany.yield dialog.checkbox dialog.color dialog.file dialog.font dialog.group dialog.heading dialog.hr dialog.label dialog.new dialog.option dialog.password dialog.radio dialog.run dialog.select dialog.text dialog.textarea keyfile.comment keyfile.data keyfile.groups keyfile.has keyfile.keys keyfile.new keyfile.remove keyfile.value 
+user1=geany.activate geany.appinfo geany.banner geany.basename geany.batch geany.byte geany.caller geany.caret geany.choose geany.close geany.confirm geany.copy geany.count geany.cut geany.dirlist geany.dirname geany.dirsep geany.documents geany.fileinfo geany.filename geany.find geany.fullpath geany.height geany.input geany.keycmd geany.keygrab geany.launch geany.length geany.lines geany.match geany.message geany.navigate geany.newfile geany.open geany.optimize geany.paste geany.pickfile geany.pluginver geany.rectsel geany.reloadconf geany.rescan geany.rowcol geany.save geany.scintilla geany.script geany.select geany.selection geany.signal geany.stat geany.status geany.text geany.timeout geany.wkdir geany.word geany.wordchars geany.xsel geany.yield dialog.checkbox dialog.color dialog.file dialog.font dialog.group dialog.heading dialog.hr dialog.label dialog.new dialog.option dialog.password dialog.radio dialog.run dialog.select dialog.text dialog.textarea keyfile.comment keyfile.data keyfile.groups keyfile.has keyfile.keys keyfile.new keyfile.remove keyfile.value 


Modified: geanylua/util/mk-keytab.lua
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -54,7 +54,7 @@ print(
 
 
 print("typedef struct _KeyCmdHashEntry {")
-print("\tgchar *name;")
+print("\tconst gchar *name;")
 print("\tguint group;")
 print("\tguint key_id;")
 print("} KeyCmdHashEntry;")


Modified: geanyprj/src/geanyprj.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -36,7 +36,7 @@
 
 PLUGIN_VERSION_CHECK(224)
 PLUGIN_SET_TRANSLATABLE_INFO(LOCALEDIR, GETTEXT_PACKAGE,
-	"GeanyPrj", _("Alternative project support. \nThis plugin currently"
+	"GeanyPrj", _("Alternative project support. \nThis plugin currently "
 		          "has no maintainer. Would you like to help by contributing "
 		          "to this plugin?"),
 	VERSION,


Modified: geanyvc/src/geanyvc.c
111 lines changed, 68 insertions(+), 43 deletions(-)
===================================================================
@@ -82,6 +82,8 @@ static gboolean set_maximize_commit_dialog;
 static gboolean set_external_diff;
 static gboolean set_editor_menu_entries;
 static gboolean set_menubar_entry;
+static gint commit_dialog_width = 0;
+static gint commit_dialog_height = 0;
 
 static gchar *config_file;
 
@@ -1598,6 +1600,8 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer
 	else
 	{
 		gtk_widget_set_size_request(commit, 700, 500);
+		gtk_window_set_default_size(GTK_WINDOW(commit),
+			commit_dialog_width, commit_dialog_height);
 	}
 
 	gtk_widget_show_now(commit);
@@ -1635,6 +1639,9 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer
 		}
 		g_free(message);
 	}
+	/* remember commit dialog widget size */
+	gtk_window_get_size(GTK_WINDOW(commit),
+		&commit_dialog_width, &commit_dialog_height);
 
 	gtk_widget_destroy(commit);
 	free_commit_list(lst);
@@ -1785,16 +1792,66 @@ static struct
 }
 widgets;
 
+static void
+save_config(void)
+{
+	GKeyFile *config = g_key_file_new();
+	gchar *config_dir = g_path_get_dirname(config_file);
+
+	g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
+
+	g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag);
+	g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation);
+	g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff);
+	g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog",
+			       set_maximize_commit_dialog);
+	g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries);
+	g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry);
+
+	g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs);
+	g_key_file_set_boolean(config, "VC", "enable_git", enable_git);
+	g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn);
+	g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk);
+	g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr);
+	g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg);
+
+#ifdef USE_GTKSPELL
+	g_key_file_set_string(config, "VC", "spellchecking_language", lang);
+#endif
+
+	if (commit_dialog_width > 0 && commit_dialog_height > 0)
+	{
+		g_key_file_set_integer(config, "CommitDialog",
+			"commit_dialog_width", commit_dialog_width);
+		g_key_file_set_integer(config, "CommitDialog",
+			"commit_dialog_height", commit_dialog_height);
+	}
+
+	if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR)
+	    && utils_mkdir(config_dir, TRUE) != 0)
+	{
+		dialogs_show_msgbox(GTK_MESSAGE_ERROR,
+				    _
+				    ("Plugin configuration directory could not be created."));
+	}
+	else
+	{
+		/* write config to file */
+		gchar *data = g_key_file_to_data(config, NULL, NULL);
+		utils_write_file(config_file, data);
+		g_free(data);
+	}
+
+	g_free(config_dir);
+	g_key_file_free(config);
+}
+
 static void
 on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response,
 		      G_GNUC_UNUSED gpointer user_data)
 {
 	if (response == GTK_RESPONSE_OK || response == GTK_RESPONSE_APPLY)
 	{
-		GKeyFile *config = g_key_file_new();
-		gchar *data;
-		gchar *config_dir = g_path_get_dirname(config_file);
-
 		set_changed_flag =
 			gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widgets.cb_changed_flag));
 		set_add_confirmation =
@@ -1822,51 +1879,13 @@ on_configure_response(G_GNUC_UNUSED GtkDialog * dialog, gint response,
 		lang = g_strdup(gtk_entry_get_text(GTK_ENTRY(widgets.spellcheck_lang_textbox)));
 #endif
 
-		g_key_file_load_from_file(config, config_file, G_KEY_FILE_NONE, NULL);
-
-		g_key_file_set_boolean(config, "VC", "set_changed_flag", set_changed_flag);
-		g_key_file_set_boolean(config, "VC", "set_add_confirmation", set_add_confirmation);
-		g_key_file_set_boolean(config, "VC", "set_external_diff", set_external_diff);
-		g_key_file_set_boolean(config, "VC", "set_maximize_commit_dialog",
-				       set_maximize_commit_dialog);
-		g_key_file_set_boolean(config, "VC", "set_editor_menu_entries", set_editor_menu_entries);
-		g_key_file_set_boolean(config, "VC", "attach_to_menubar", set_menubar_entry);
-
-		g_key_file_set_boolean(config, "VC", "enable_cvs", enable_cvs);
-		g_key_file_set_boolean(config, "VC", "enable_git", enable_git);
-		g_key_file_set_boolean(config, "VC", "enable_svn", enable_svn);
-		g_key_file_set_boolean(config, "VC", "enable_svk", enable_svk);
-		g_key_file_set_boolean(config, "VC", "enable_bzr", enable_bzr);
-		g_key_file_set_boolean(config, "VC", "enable_hg", enable_hg);
-
-#ifdef USE_GTKSPELL
-		g_key_file_set_string(config, "VC", "spellchecking_language", lang);
-#endif
-
-		if (!g_file_test(config_dir, G_FILE_TEST_IS_DIR)
-		    && utils_mkdir(config_dir, TRUE) != 0)
-		{
-			dialogs_show_msgbox(GTK_MESSAGE_ERROR,
-					    _
-					    ("Plugin configuration directory could not be created."));
-		}
-		else
-		{
-			/* write config to file */
-			data = g_key_file_to_data(config, NULL, NULL);
-			utils_write_file(config_file, data);
-			g_free(data);
-		}
+		save_config();
 
 		if (set_editor_menu_entries == FALSE)
 			remove_menuitems_from_editor_menu();
 		else
 			add_menuitems_to_editor_menu();
 
-
-		g_free(config_dir);
-		g_key_file_free(config);
-
 		registrate();
 	}
 }
@@ -2030,6 +2049,11 @@ load_config(void)
 	}
 #endif
 
+	commit_dialog_width = utils_get_setting_integer(config, "CommitDialog",
+		"commit_dialog_width", 700);
+	commit_dialog_height = utils_get_setting_integer(config, "CommitDialog",
+		"commit_dialog_height", 500);
+
 	g_key_file_free(config);
 }
 
@@ -2378,6 +2402,7 @@ plugin_init(G_GNUC_UNUSED GeanyData * data)
 void
 plugin_cleanup(void)
 {
+	save_config();
 	external_diff_viewer_deinit();
 	remove_menuitems_from_editor_menu();
 	gtk_widget_destroy(menu_entry);


Modified: po/POTFILES.in
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -320,6 +320,7 @@ workbench/src/popup_menu.c
 workbench/src/sidebar.c
 workbench/src/utils.c
 workbench/src/wb_globals.c
+workbench/src/wb_monitor.c
 workbench/src/wb_project.c
 workbench/src/workbench.c
 


Modified: po/be.po
1086 lines changed, 559 insertions(+), 527 deletions(-)
===================================================================
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Geany-Plugins 1.30\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2017-11-05 14:45+0100\n"
+"POT-Creation-Date: 2018-02-11 17:41+0100\n"
 "PO-Revision-Date: 2009-06-11 10:15+0200\n"
 "Last-Translator: Yura Siamshka <yurand2 at gmail.com>>\n"
 "Language-Team: Belarusian <geany-i18n at uvena.de>\n"
@@ -38,13 +38,13 @@ msgstr ""
 msgid "Contents"
 msgstr ""
 
-#: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:625
+#: ../addons/src/ao_bookmarklist.c:383 ../treebrowser/src/treebrowser.c:634
 #: ../webhelper/src/gwh-plugin.c:328
 msgid "Bookmarks"
 msgstr ""
 
 #. complete update
-#: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2351
+#: ../addons/src/ao_tasks.c:373 ../geanyvc/src/geanyvc.c:2375
 msgid "_Update"
 msgstr ""
 
@@ -66,7 +66,7 @@ msgstr ""
 #. * have an ESTABLISHED term for it, leave it
 #. * untranslated.
 #: ../addons/src/ao_tasks.c:434 ../debugger/src/vtree.c:201
-#: ../devhelp/devhelp/dh-link.c:287 ../geanylatex/src/bibtexlabels.c:68
+#: ../devhelp/devhelp/dh-link.c:287 ../latex/src/bibtexlabels.c:68
 msgid "Type"
 msgstr ""
 
@@ -151,138 +151,146 @@ msgstr ""
 msgid "File path \"%s\" copied to clipboard."
 msgstr ""
 
-#: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:334
+#: ../addons/src/ao_copyfilepath.c:119 ../addons/src/addons.c:349
 msgid "Copy File Path"
 msgstr ""
 
 #: ../addons/src/ao_copyfilepath.c:122
 msgid "Copy the file path of the current document to the clipboard"
 msgstr ""
 
-#: ../addons/src/addons.c:52
+#: ../addons/src/addons.c:53
 msgid "Addons"
 msgstr ""
 
-#: ../addons/src/addons.c:53
+#: ../addons/src/addons.c:54
 msgid "Various small addons for Geany."
 msgstr ""
 
-#: ../addons/src/addons.c:325
+#: ../addons/src/addons.c:340
 msgid "Focus Bookmark List"
 msgstr ""
 
-#: ../addons/src/addons.c:327
+#: ../addons/src/addons.c:342
 msgid "Focus Tasks List"
 msgstr ""
 
-#: ../addons/src/addons.c:329
+#: ../addons/src/addons.c:344
 msgid "Update Tasks List"
 msgstr ""
 
-#: ../addons/src/addons.c:331
+#: ../addons/src/addons.c:346
 msgid "Run XML tagging"
 msgstr ""
 
-#: ../addons/src/addons.c:465 ../autoclose/src/autoclose.c:884
-#: ../codenav/src/codenavigation.c:292 ../geanylatex/src/geanylatex.c:240
-#: ../geanyprj/src/geanyprj.c:176 ../geanyvc/src/geanyvc.c:1851
-#: ../geniuspaste/src/geniuspaste.c:336 ../sendmail/src/sendmail.c:128
-#: ../sendmail/src/sendmail.c:293 ../spellcheck/src/scplugin.c:157
-#: ../treebrowser/src/treebrowser.c:1942
+#: ../addons/src/addons.c:491 ../autoclose/src/autoclose.c:884
+#: ../codenav/src/codenavigation.c:292 ../latex/src/latex.c:208
+#: ../latex/src/latex.c:293 ../geanyprj/src/geanyprj.c:176
+#: ../geanyvc/src/geanyvc.c:1835 ../geniuspaste/src/geniuspaste.c:336
+#: ../sendmail/src/sendmail.c:128 ../sendmail/src/sendmail.c:293
+#: ../spellcheck/src/scplugin.c:124 ../treebrowser/src/treebrowser.c:1951
 #: ../updatechecker/src/updatechecker.c:266
 msgid "Plugin configuration directory could not be created."
 msgstr ""
 
-#: ../addons/src/addons.c:494
+#: ../addons/src/addons.c:521
 msgid "Show toolbar item to show a list of currently open documents"
 msgstr ""
 
-#: ../addons/src/addons.c:498
+#: ../addons/src/addons.c:525
 msgid "Sort documents by _name"
 msgstr ""
 
-#: ../addons/src/addons.c:500
+#: ../addons/src/addons.c:527
 msgid "Sort the documents in the list by their filename"
 msgstr ""
 
-#: ../addons/src/addons.c:503
+#: ../addons/src/addons.c:530
 msgid "Sort documents by _occurrence"
 msgstr ""
 
-#: ../addons/src/addons.c:505
+#: ../addons/src/addons.c:532
 msgid "Sort the documents in the order of the document tabs"
 msgstr ""
 
-#: ../addons/src/addons.c:508
+#: ../addons/src/addons.c:535
 msgid "Sort documents by _occurrence (reversed)"
 msgstr ""
 
-#: ../addons/src/addons.c:510
+#: ../addons/src/addons.c:537
 msgid "Sort the documents in the order of the document tabs (reversed)"
 msgstr ""
 
-#: ../addons/src/addons.c:537
+#: ../addons/src/addons.c:564
 msgid "Show an 'Open URI' item in the editor menu"
 msgstr ""
 
-#: ../addons/src/addons.c:543
+#: ../addons/src/addons.c:570
 msgid "Show available Tasks in the Messages Window"
 msgstr ""
 
-#: ../addons/src/addons.c:549
+#: ../addons/src/addons.c:576
 msgid "Show tasks of all documents"
 msgstr ""
 
-#: ../addons/src/addons.c:553
+#: ../addons/src/addons.c:580
 msgid ""
 "Whether to show the tasks of all open documents in the list or only those of "
 "the current document."
 msgstr ""
 
-#: ../addons/src/addons.c:560
+#: ../addons/src/addons.c:587
 msgid "Specify a semicolon separated list of search tokens."
 msgstr ""
 
-#: ../addons/src/addons.c:562
+#: ../addons/src/addons.c:589
 msgid "Search tokens:"
 msgstr ""
 
-#: ../addons/src/addons.c:579
+#: ../addons/src/addons.c:606
 msgid "Show status icon in the Notification Area"
 msgstr ""
 
-#: ../addons/src/addons.c:585
+#: ../addons/src/addons.c:612
 msgid "Show defined bookmarks (marked lines) in the sidebar"
 msgstr ""
 
-#: ../addons/src/addons.c:591
+#: ../addons/src/addons.c:618
 msgid "Mark all occurrences of a word when double-clicking it"
 msgstr ""
 
-#: ../addons/src/addons.c:597
+#: ../addons/src/addons.c:624
 msgid "Deselect a previous highlight by single click"
 msgstr ""
 
-#: ../addons/src/addons.c:607
+#: ../addons/src/addons.c:634
 msgid "Strip trailing blank lines"
 msgstr ""
 
-#: ../addons/src/addons.c:613
+#: ../addons/src/addons.c:640
 msgid "XML tagging for selection"
 msgstr ""
 
-#: ../addons/src/addons.c:619
+#: ../addons/src/addons.c:646
 msgid "Enclose selection on configurable keybindings"
 msgstr ""
 
-#: ../addons/src/addons.c:623
+#: ../addons/src/addons.c:650
 msgid "Configure enclose pairs"
 msgstr ""
 
-#: ../addons/src/addons.c:631
+#: ../addons/src/addons.c:658
 msgid "Enclose selection automatically (without having to press a keybinding)"
 msgstr ""
 
+#: ../addons/src/addons.c:664
+msgid "Show a calltip when hovering over a color value"
+msgstr ""
+
+#: ../addons/src/addons.c:670
+msgid "Open Color Chooser when double-clicking a color value"
+msgstr ""
+
 #: ../autoclose/src/autoclose.c:49
 msgid "Auto-close"
 msgstr ""
@@ -729,7 +737,7 @@ msgstr ""
 msgid "Thread %i"
 msgstr ""
 
-#: ../debugger/src/stree.c:395 ../geanylatex/src/bibtexlabels.c:46
+#: ../debugger/src/stree.c:395 ../latex/src/bibtexlabels.c:46
 msgid "Address"
 msgstr ""
 
@@ -955,7 +963,7 @@ msgid "Book:"
 msgstr ""
 
 #. i18n: a documentation book
-#: ../devhelp/devhelp/dh-link.c:255 ../geanylatex/src/geanylatex.c:1783
+#: ../devhelp/devhelp/dh-link.c:255 ../latex/src/latex.c:1836
 msgid "Book"
 msgstr ""
 
@@ -1084,7 +1092,7 @@ msgstr ""
 msgid "A developers' help browser for GNOME"
 msgstr ""
 
-#: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2063
+#: ../devhelp/devhelp/dh-window.c:759 ../geanyvc/src/geanyvc.c:2087
 #, fuzzy
 msgid "_File"
 msgstr "Дадаць файл"
@@ -1314,7 +1322,7 @@ msgid ""
 "contributing to this plugin?"
 msgstr ""
 
-#: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:427
+#: ../geanydoc/src/geanydoc.c:159 ../geanyvc/src/geanyvc.c:429
 msgid "Could not parse the output of command"
 msgstr "Немагчыма прааналізаваць вывад каманды"
 
@@ -1888,946 +1896,946 @@ msgstr ""
 msgid "Insert _Numbers"
 msgstr "Наладкі"
 
-#: ../geanylatex/src/latexenvironments.c:25
+#: ../latex/src/latexenvironments.c:25
 msgid "Environments"
 msgstr ""
 
-#: ../geanylatex/src/latexenvironments.c:26
+#: ../latex/src/latexenvironments.c:26
 msgid "Formatting"
 msgstr ""
 
-#: ../geanylatex/src/latexenvironments.c:27
+#: ../latex/src/latexenvironments.c:27
 #, fuzzy
 msgid "Document Structure"
 msgstr "Інтэрактыўная даведка"
 
-#: ../geanylatex/src/latexenvironments.c:28
+#: ../latex/src/latexenvironments.c:28
 msgid "Lists"
 msgstr ""
 
-#: ../geanylatex/src/latexenvironments.c:29
+#: ../latex/src/latexenvironments.c:29
 msgid "Math"
 msgstr ""
 
-#: ../geanylatex/src/latexenvironments.c:194
+#: ../latex/src/latexenvironments.c:194
 msgid "Insert Environment"
 msgstr ""
 
-#: ../geanylatex/src/latexenvironments.c:208
+#: ../latex/src/latexenvironments.c:208
 msgid "Environment:"
 msgstr ""
 
-#: ../geanylatex/src/latexutils.c:87
+#: ../latex/src/latexutils.c:87
 #, c-format
 msgid ""
 "Could not determine where to insert package: %s\n"
 "Please try insert package manually"
 msgstr ""
 
-#: ../geanylatex/src/latexutils.c:89
+#: ../latex/src/latexutils.c:89
 #, c-format
 msgid "Could not determine where to insert package: %s"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:27
+#: ../latex/src/bibtexlabels.c:27
 msgid "Article (@Article)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:28
+#: ../latex/src/bibtexlabels.c:28
 msgid "Book (@Book)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:29
+#: ../latex/src/bibtexlabels.c:29
 msgid "Booklet (@Booklet)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:30
+#: ../latex/src/bibtexlabels.c:30
 msgid "Conference (@Conference)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:31
+#: ../latex/src/bibtexlabels.c:31
 msgid "Inbook (@Inbook)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:32
+#: ../latex/src/bibtexlabels.c:32
 msgid "Incollection (@Incollection)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:33
+#: ../latex/src/bibtexlabels.c:33
 msgid "Inproceedings (@Inproceedings)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:34
+#: ../latex/src/bibtexlabels.c:34
 msgid "Manual (@Manual)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:35
+#: ../latex/src/bibtexlabels.c:35
 msgid "Mastersthesis (@Mastersthesis)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:36
+#: ../latex/src/bibtexlabels.c:36
 msgid "Misc (@Misc)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:37
+#: ../latex/src/bibtexlabels.c:37
 msgid "PhdThesis (@PhdThesis)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:38
+#: ../latex/src/bibtexlabels.c:38
 msgid "Proceedings (@Proceedings)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:39
+#: ../latex/src/bibtexlabels.c:39
 msgid "Techreport (@Techreport)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:40
+#: ../latex/src/bibtexlabels.c:40
 msgid "Unpublished (@Unpublished)"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:47
+#: ../latex/src/bibtexlabels.c:47
 msgid "Annote"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:48
+#: ../latex/src/bibtexlabels.c:48
 msgid "Author"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:49
+#: ../latex/src/bibtexlabels.c:49
 msgid "Booktitle"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:50
+#: ../latex/src/bibtexlabels.c:50
 msgid "Chapter"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:51
+#: ../latex/src/bibtexlabels.c:51
 msgid "Crossref"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:52
+#: ../latex/src/bibtexlabels.c:52
 msgid "Edition"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:53
+#: ../latex/src/bibtexlabels.c:53
 msgid "Editor"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:54
+#: ../latex/src/bibtexlabels.c:54
 msgid "E-print"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:55
+#: ../latex/src/bibtexlabels.c:55
 msgid "HowPublished"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:56
+#: ../latex/src/bibtexlabels.c:56
 msgid "Institution"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:57
+#: ../latex/src/bibtexlabels.c:57
 msgid "Journal"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:58
+#: ../latex/src/bibtexlabels.c:58
 msgid "Key"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:59
+#: ../latex/src/bibtexlabels.c:59
 msgid "Month"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:60
+#: ../latex/src/bibtexlabels.c:60
 msgid "Note"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:61
+#: ../latex/src/bibtexlabels.c:61
 msgid "Number"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:62
+#: ../latex/src/bibtexlabels.c:62
 msgid "Organization"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:63
+#: ../latex/src/bibtexlabels.c:63
 msgid "Pages"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:64
+#: ../latex/src/bibtexlabels.c:64
 msgid "Publisher"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:65
+#: ../latex/src/bibtexlabels.c:65
 msgid "School"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:66
+#: ../latex/src/bibtexlabels.c:66
 msgid "Series"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:67
+#: ../latex/src/bibtexlabels.c:67
 msgid "Title"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:69
+#: ../latex/src/bibtexlabels.c:69
 msgid "URL"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:70
+#: ../latex/src/bibtexlabels.c:70
 msgid "Volume"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:71
+#: ../latex/src/bibtexlabels.c:71
 msgid "Year"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:103
+#: ../latex/src/bibtexlabels.c:103
 msgid "Address of publisher"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:104
+#: ../latex/src/bibtexlabels.c:104
 msgid "Annotation for annotated bibliography styles"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:105
+#: ../latex/src/bibtexlabels.c:105
 msgid "Name(s) of the author(s), separated by 'and' if more than one"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:106
+#: ../latex/src/bibtexlabels.c:106
 msgid "Title of the book, if only part of it is being cited"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:107
+#: ../latex/src/bibtexlabels.c:107
 msgid "Chapter number"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:108
+#: ../latex/src/bibtexlabels.c:108
 msgid "Citation key of the cross-referenced entry"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:109
+#: ../latex/src/bibtexlabels.c:109
 msgid "Edition of the book (such as \"first\" or \"second\")"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:110
+#: ../latex/src/bibtexlabels.c:110
 msgid "Name(s) of the editor(s), separated by 'and' if more than one"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:111
+#: ../latex/src/bibtexlabels.c:111
 msgid "Specification of electronic publication"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:112
+#: ../latex/src/bibtexlabels.c:112
 msgid "Publishing method if the method is nonstandard"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:113
+#: ../latex/src/bibtexlabels.c:113
 msgid "Institution that was involved in the publishing"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:114
+#: ../latex/src/bibtexlabels.c:114
 msgid "Journal or magazine in which the work was published"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:115
+#: ../latex/src/bibtexlabels.c:115
 msgid ""
 "Hidden field used for specifying or overriding the alphabetical order of "
 "entries"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:116
+#: ../latex/src/bibtexlabels.c:116
 msgid "Month of publication or creation if unpublished"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:117
+#: ../latex/src/bibtexlabels.c:117
 msgid "Miscellaneous extra information"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:118
+#: ../latex/src/bibtexlabels.c:118
 msgid "Number of journal, magazine, or tech-report"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:119
+#: ../latex/src/bibtexlabels.c:119
 msgid "Sponsor of the conference"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:120
+#: ../latex/src/bibtexlabels.c:120
 msgid "Page numbers separated by commas or double-hyphens"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:121
+#: ../latex/src/bibtexlabels.c:121
 msgid "Name of publisher"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:122
+#: ../latex/src/bibtexlabels.c:122
 msgid "School where thesis was written"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:123
+#: ../latex/src/bibtexlabels.c:123
 msgid "Series of books in which the book was published"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:124
+#: ../latex/src/bibtexlabels.c:124
 msgid "Title of the work"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:125
+#: ../latex/src/bibtexlabels.c:125
 msgid "Type of technical report"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:126
+#: ../latex/src/bibtexlabels.c:126
 msgid "Internet address"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:127
+#: ../latex/src/bibtexlabels.c:127
 msgid "Number of the volume"
 msgstr ""
 
-#: ../geanylatex/src/bibtexlabels.c:128
+#: ../latex/src/bibtexlabels.c:128
 msgid "Year of publication or creation if unpublished"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:41
-msgid "GeanyLaTeX"
+#: ../latex/src/latex.c:42 ../tableconvert/src/tableconvert.c:41
+msgid "LaTeX"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:42
+#: ../latex/src/latex.c:43
 msgid "Extends LaTeX support"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:115
+#: ../latex/src/latex.c:116
 msgid "Runs LaTeX wizard"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:116
+#: ../latex/src/latex.c:117
 msgid "Marks selected text as italic"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:117
+#: ../latex/src/latex.c:118
 msgid "Marks selected text as bold"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:118
+#: ../latex/src/latex.c:119
 msgid "Underlines selected text"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:119 ../geanylatex/src/formatpatterns.c:45
+#: ../latex/src/latex.c:120 ../latex/src/formatpatterns.c:45
 msgid "Centered"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:120 ../geanylatex/src/formatpatterns.c:46
+#: ../latex/src/latex.c:121 ../latex/src/formatpatterns.c:46
 msgid "Left side oriented"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:121 ../geanylatex/src/formatpatterns.c:47
+#: ../latex/src/latex.c:122 ../latex/src/formatpatterns.c:47
 msgid "Right side oriented"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:297
+#: ../latex/src/latex.c:350
 msgid "Use KOMA script by default"
 msgstr ""
 
-#: ../geanylatex/src/geanylatex.c:299
+#: ../latex/src/latex.c:352
 msgid "Show extra plugin toolbar"
 m@@ Diff output truncated at 100000 characters. @@

--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Plugins-Commits mailing list