Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Sat, 09 Aug 2014 23:47:35 UTC
Commit: 83deafeddaa9bf2a0eca6eb34056e61cc7a2021c
https://github.com/geany/geany/commit/83deafeddaa9bf2a0eca6eb34056e61cc7a20…
Log Message:
-----------
Update the documentation for single-line regular expressions
Modified Paths:
--------------
doc/geany.txt
Modified: doc/geany.txt
35 lines changed, 35 insertions(+), 0 deletions(-)
===================================================================
@@ -1231,6 +1231,10 @@ The syntax for the *Use regular expressions* option is shown in
.. note::
*Use escape sequences* is implied for regular expressions.
+The *Use multi-line matching* option enables multi-line regular
+expressions instead of single-line ones. See `Regular expressions`_ for
+more details on the differences between the two modes.
+
The *Use escape sequences* option will transform any escaped characters
into their UTF-8 equivalent. For example, \\t will be transformed into
a tab character. Other recognized symbols are: \\\\, \\n, \\r, \\uXXXX
@@ -1451,10 +1455,17 @@ options`_). The syntax is Perl compatible. Basic syntax is described
in the table below. For full details, see
http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html.
+By default regular expressions are matched on a line-by-line basis.
+If you are interested in multi-line regular expressions, matched against
+the whole buffer at once, see the section `Multi-line regular expressions`_
+below.
+
.. note::
1. The *Use escape sequences* dialog option always applies for regular
expressions.
2. Searching backwards with regular expressions is not supported.
+ 3. The *Use multi-line matching* dialog option to select single or
+ multi-line matching.
**In a regular expression, the following characters are interpreted:**
@@ -1531,6 +1542,30 @@ $ This matches the end of a line.
distributed under the `License for Scintilla and SciTE`_.
+Multi-line regular expressions
+``````````````````````````````
+
+.. note::
+ The *Use multi-line matching* dialog option enables multi-line
+ regular expressions.
+
+Multi-line regular expressions work just like single-line ones but a
+match can span several lines.
+
+While the syntax is the same, a few practical differences applies:
+
+======= ============================================================
+. Matches any character but newlines. This behavior can be changed
+ to also match newlines using the (?s) option, see
+ http://www.geany.org/manual/gtk/glib/glib-regex-syntax.html#idp5671632
+
+[^...] A negative range (see above) *will* match newlines if they are
+ not explicitly listed in that negative range. For example, range
+ [^a-z] will match newlines, while range [^a-z\\r\\n] won't.
+ While this is the expected behavior, it can lead to tricky
+ problems if one doesn't think about it when writing an expression.
+======= ============================================================
+
View menu
---------
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Frank Lanitz <frank(a)frank.uvena.de>
Committer: Frank Lanitz <frank(a)frank.uvena.de>
Date: Thu, 07 Aug 2014 13:30:54 UTC
Commit: 604e05cb2d84a2f6d10f9dde3b2e53a6e9078969
https://github.com/geany/geany/commit/604e05cb2d84a2f6d10f9dde3b2e53a6e9078…
Log Message:
-----------
Adding message to client/log keywords to SQL type
Modified Paths:
--------------
data/filetypes.sql
Modified: data/filetypes.sql
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -22,7 +22,7 @@ quotedidentifier=identifier_2
[keywords]
# all items must be in one line
-keywords=absolute action add admin after aggregate alias all allocate alter and any are array as asc assertion at authorization auto_increment before begin bfile bigint binary bit blob bool boolean both breadth by call cascade cascaded case cast catalog char charset character check class clob close cluster collate collation column comment commit completion connect connection constraint constraints constructor continue corresponding create cross cube current current_date current_path current_role current_time current_timestamp current_user cursor cycle data date day deallocate dec decimal declare default deferrable deferred delete depth deref desc describe descriptor destroy destructor deterministic diagnostics dictionary dimension disconnect diskgroup distinct domain double drop dynamic each else elsif end end-exec engine equals escape every except exception exec execute exists explain external false fetch first fixed flashback float for foreign found from free full function general get global go goto grant group grouping having host hour identity if ignore immediate in index indextype indicator initialize initially inner inout input insert int integer intersect interval into is isolation iterate join key language large last lateral leading left less level like limit local localtime localtimestamp locator long loop map match materialized mediumblob mediumint mediumtext merge middleint minus minute modifies modify module month names national natural nchar nclob new next no noaudit none not null numeric nvarchar2 object of off old on only open operation option or order ordinality out outer output owner package pad parameter parameters partial path postfix precision prefix preorder prepare preserve primary prior privileges procedure profile public purge raise read reads real recursive ref references referencing regexp regexp_like relative rename replace restrict result return returning returns revoke right role rollback rollup routine row rows savepoint schema scroll scope search second section select sequence session session_user serial set sets size smallint some space specific specifictype sql sqlexception sqlstate sqlwarning start state statement static structure synonym system_user table tablespace temporary terminate text than then time timestamp timezone_hour timezone_minute tinyint to trailing transaction translation treat trigger true truncate type under union unique uniqueidentifier unknown unnest unsigned update usage user using value values varchar varchar2 variable varying view when whenever where while with without work write year zone
+keywords=absolute action add admin after aggregate alias all allocate alter and any are array as asc assertion at authorization auto_increment before begin bfile bigint binary bit blob bool boolean both breadth by call cascade cascaded case cast catalog char charset character check class client clob close cluster collate collation column comment commit completion connect connection constraint constraints constructor continue corresponding create cross cube current current_date current_path current_role current_time current_timestamp current_user cursor cycle data date day deallocate dec decimal declare default deferrable deferred delete depth deref desc describe descriptor destroy destructor deterministic diagnostics dictionary dimension disconnect diskgroup distinct domain double drop dynamic each else elsif end end-exec engine equals escape every except exception exec execute exists explain external false fetch first fixed flashback float for foreign found from free full function general get global go goto grant group grouping having host hour identity if ignore immediate in index indextype indicator initialize initially inner inout input insert int integer intersect interval into is isolation iterate join key language large last lateral leading left less level like limit local localtime localtimestamp locator log long loop map match materialized mediumblob mediumint mediumtext merge message middleint minus minute modifies modify module month names national natural nchar nclob new next no noaudit none not null numeric nvarchar2 object of off old on only open operation option or order ordinality out outer output owner package pad parameter parameters partial path postfix precision prefix preorder prepare preserve primary prior privileges procedure profile public purge raise read reads real recursive ref references referencing regexp regexp_like relative rename replace restrict result return returning returns revoke right role rollback rollup routine row rows savepoint schema scroll scope search second section select sequence session session_user serial set sets size smallint some space specific specifictype sql sqlexception sqlstate sqlwarning start state statement static structure synonym system_user table tablespace temporary terminate text than then time timestamp timezone_hour timezone_minute tinyint to trailing transaction translation treat trigger true truncate type under union unique uniqueidentifier unknown unnest unsigned update usage user using value values varchar varchar2 variable varying view when whenever where while with without work write year zone
[settings]
# default extension used when saving files
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: Colomban Wendling <ban(a)herbesfolles.org>
Committer: Colomban Wendling <ban(a)herbesfolles.org>
Date: Thu, 07 Aug 2014 13:14:22 UTC
Commit: a26bdd628f7a7d6a5937195083b7829be09b1a81
https://github.com/geany/geany/commit/a26bdd628f7a7d6a5937195083b7829be09b1…
Log Message:
-----------
Fix crash when closing a document with visible infobars
Apparently the ::unrealize symbol is sent too late, after we destroyed
the widget and freed the GeanyDocument, and some signals like
::focus-in-event can still be fired on the widget after that.
So, properly use the ::destroy signal that is supposed to be fired when
others should release references to that instance.
Modified Paths:
--------------
src/document.c
Modified: src/document.c
2 lines changed, 1 insertions(+), 1 deletions(-)
===================================================================
@@ -3215,7 +3215,7 @@ static gboolean on_sci_key(GtkWidget *widget, GdkEventKey *event, gpointer data)
static void enable_key_intercept(GeanyDocument *doc, GtkWidget *bar)
{
/* automatically focus editor again on bar close */
- g_signal_connect_object(bar, "unrealize", G_CALLBACK(gtk_widget_grab_focus), doc->editor->sci,
+ g_signal_connect_object(bar, "destroy", G_CALLBACK(gtk_widget_grab_focus), doc->editor->sci,
G_CONNECT_SWAPPED);
g_signal_connect_object(doc->editor->sci, "key-press-event", G_CALLBACK(on_sci_key), bar, 0);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).
Branch: refs/heads/master
Author: elextr <elextr(a)gmail.com>
Committer: elextr <elextr(a)gmail.com>
Date: Wed, 06 Aug 2014 03:15:07 UTC
Commit: ed20a4373da28564be76028df6e137f0f2194d80
https://github.com/geany/geany/commit/ed20a4373da28564be76028df6e137f0f2194…
Log Message:
-----------
Make reflow paragraph leave cursor at end.
The cursor was left at the beginning of the last line, leaving
it at the end is more likely to be a useful position to continue
typing.
Modified Paths:
--------------
src/keybindings.c
Modified: src/keybindings.c
1 lines changed, 1 insertions(+), 0 deletions(-)
===================================================================
@@ -2270,6 +2270,7 @@ static void reflow_paragraph(GeanyEditor *editor)
reflow_lines(editor, column);
if (!sel)
sci_set_anchor(sci, -1);
+ sci_goto_pos(sci, sci_get_line_end_position(sci, sci_get_current_line(sci)), TRUE);
sci_end_undo_action(sci);
}
--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).