5287 Commits

Author SHA1 Message Date
Colomban Wendling
dd4c851cab Fix focusing the Terminal tab in the message window
Use more generic code to not fall into the same issue next time layout
changes, and to potentially support plugin tabs in the message window.

Fixes #1198.
2016-08-30 16:19:58 +02:00
Colomban Wendling
095d889582 VTE: Fix crash when trying to change VTE directory at startup
2150302fe6e88f88e5eba78502b478be2b78c662 introduced a bug, because
configuration_load_session_files() calls VTE code if vte_info.have_vte
is non-FALSE, before vte_init() has been called.  So, it relied in the
implicit 0-initialization of the vte_info global, which the above
commit changed carelessly.

So, instead of altering vte_info.have_vte early, add a specific flag
for whether VTE is disabled on the command line.

Also, explicitly initialize vte_info to suggest to the reader the
default values does matter.
2016-08-22 20:03:18 +02:00
Colomban Wendling
d3b0bbec26 Merge pull request #1154 from b4n/lines-around-scroll
Add support for keeping the cursor a number of lines from the edges
2016-08-21 13:56:25 +02:00
Colomban Wendling
a4a4accc42 Add support for keeping the cursor a number of lines from the edges
Closes #1152.
2016-08-21 13:56:04 +02:00
Colomban Wendling
c5d409340b Merge pull request #1174 from b4n/escape-markup
Escape format arguments passed to ui_label_set_markup(), and deprecate
ui_frame_new_with_alignment() which exposed a broken API because of it.
2016-08-20 19:58:42 +02:00
Colomban Wendling
5002f92dc6 Merge pull request #651 from b4n/vte-in-various-prefs
Show some hidden VTE preferences in the Various preferences page
2016-08-20 01:48:43 +02:00
Colomban Wendling
2150302fe6 VTE: Don't show the various settings when VTE is disabled on the CLI 2016-08-20 01:47:30 +02:00
Colomban Wendling
29bffe6923 Deprecate ui_frame_new_with_alignment()
It has no usage inside Geany itself, had a bug in handling of markup
in the label, has only one user in Geany-Plugins, and is fairly easy
to reproduce.
2016-08-19 21:39:48 +02:00
Colomban Wendling
2499b96ea1 Escape format arguments passed to ui_label_set_markup() 2016-08-10 03:00:56 +02:00
Colomban Wendling
0c01192a31 search: Fix the tooltip to mention Perl-like, not PCRE regular expressions
Follow-up to #1168.
Closes #1170.
2016-08-10 02:49:52 +02:00
Colomban Wendling
c354384c3a search: Fix the tooltip to mention PCRE, not POSIX regular expressions 2016-08-08 21:39:51 +02:00
Jiří Techet
d440a81166 Add tagRegexTable to parserDefinition and use it to define regex parsers
Also whitespace-format regexes so they match uctags.
2016-08-01 23:48:06 +02:00
Jiří Techet
4fbd38f690 Pass kind information into initTagEntry()
The usage in lregex is hacky (casting const char * to char *) but it's
the quickest way to implement it right now (the question is whether
we shouldn't revert back to POSIX regex and simply use the uctags
implementation).
2016-08-01 00:43:18 +02:00
Jiří Techet
0ed5c16b46 Rename tagEntryInfo.extensionFields.scope
This requires moving kindOption into a separate file because of circular
include dependency. Also eliminate now redundant tagLetter() function
in c.c.
2016-07-30 16:04:06 +02:00
Jiří Techet
f791e91e18 ctags: Rename Geany-specific tagEntryInfo::arglist to upstream's ::signature
Based on patch from Colomban Wendling.
2016-07-28 21:06:59 +02:00
Colomban Wendling
5d8e291c6f Merge pull request #1070 from techee/tm_move
Move TM and ctags files
2016-07-25 02:06:20 +02:00
Jiří Techet
3cf0161527 Store "equal" tags into binary trees instead of lists in Symbol tree
At the moment tags with identical names are stored into a linked list in
tags_table and parents_table. This however leads to quadratic complexity
when looking up the nearest parent or tag in tree because the whole list
has to be traversed.

Use binary trees indexed by line number instead of lists so the lookup can
be performed in log(N) time and the overall complexity is N*log(N) instead
of N^2.

The GTree API is a little stupid because during the search it doesn't give
access to the value and it doesn't tell when a leaf node was reached. For
this reason the lookup has to be made in two steps - first, the best line
number is found (returned in user_data) and then a normal search for the
found line number is made to get the value stored in the tree.

This patch fixes the problem described in #577 when e.g. a big json export
file contains many identically named tags.
2016-07-22 23:21:09 +02:00
Jiří Techet
f95656cbe8 Remove makefile.win32 based build system
No more needed using MSYS2.
2016-07-21 13:21:32 +02:00
Jiří Techet
470d99ee94 Update various comments mentioning tagmanager/src 2016-07-21 13:14:21 +02:00
Jiří Techet
eb2865a819 Separate ctags into parsers and main sources 2016-07-21 13:08:42 +02:00
Jiří Techet
3d2e7d4fca Move TM into src
Move the tag manager implementation to src as it really is part of Geany
sources and start making the ctags directory structure similar to
the universal-ctags one.

In principle, the patch does

mv tagmanager/src src/tagmanager
mv tagmanager/ctags tagmanager/main
mv tagmanager ctags

plus corresponding Makefile.am and configure.ac updates.
2016-07-21 13:08:42 +02:00
Matthew Brush
313b85a149 Move enumerator to end of enum (oops)
This fixes the plugin ABI break that happened in previous commmit.
2016-07-13 16:06:17 -07:00
Abel 'Akronix' Serrano Juste
14904a18ff Added keybinding for Delete from line start to current position
Closes #1134
2016-07-13 15:51:10 -07:00
Colomban Wendling
5b6b89fd5b Post release version bump
Say hello to Geany 1.29 "Jowar"!
2016-07-10 16:07:56 +02:00
Colomban Wendling
9ba7f67238 Don't require plugin key group name and label strings to be static
Take a copy of the strings not to require them to live live as long as
the plugin does.

This is mostly useful for plugins implemented in dynamic languages
(e.g. through a plugin proxy), as most C plugins will use a static
string here; but it makes the API more straightforward and avoids odd
issues if any plugin doesn't use static strings here, even C ones.

Closes #1125.
2016-07-09 00:23:01 +02:00
Colomban Wendling
91b6304985 Fix utils_spawn_async()::child_pid annotations 2016-07-04 19:19:36 +02:00
Colomban Wendling
2ebe961c9e Add missing element-type annotation for GeanyData::filetypes_by_title 2016-06-28 20:47:22 +02:00
Colomban Wendling
114e339a7e Restore element-type annotation for GeanyData::documents_array
Broken in #966.
2016-06-28 20:46:24 +02:00
Colomban Wendling
65988f51f0 style: Reduce scope of several variables
No behavioral changes.
2016-06-25 16:15:08 +02:00
Colomban Wendling
d6c98f5ae6 Merge pull request #966 from codebrainz/private-globals
Privatize global and publicize docs
2016-06-23 23:34:19 +02:00
Colomban Wendling
72482e8e32 docs: Fix references to renamed symbols 2016-06-23 23:30:39 +02:00
Colomban Wendling
5ad6316e7b Merge pull request #1038 from kugel-/gi-signals
Fix signals for GI
2016-06-23 23:15:23 +02:00
Thomas Martitz
314a5c180e geanyobject: properly register signals
If possible, register signals with the proper argument types (boxed or gobject).
This is required for successful introspection of the signals and important
for GI-based plugins.

As for the marshallers, if available use a predefined one from glib. Otherwise
use the generic marshaller available since 2.30 (in theory all signals could
use that one but it has a bit of overhead).

This builds on the gboxed conversions of earlier commits.

This also bumps the minimum glib requirement.
 - g_cclosure_marshal_generic requires 2.30 (if NULL is passed as marshaller
   to g_signal_new())
 - G_TYPE_KEYFILE requires 2.32
2016-06-23 22:33:43 +02:00
Colomban Wendling
586e64b842 Merge pull request #527 from techee/eol_undo
Fix undo of line end type change
2016-06-23 19:38:25 +02:00
Jiří Techet
d097e8cd05 Make UNDO_ENCODING updates similar to other updates
Simply call ui_update_statusbar() and ui_document_show_hide() like in
other undo actions.
2016-06-23 18:15:21 +02:00
Jiří Techet
6a3a53f421 Fix undo of line end type change
At the moment undo of line end type change only undos the changes made
in the document but the different line ending settings remains active.

This patch fixes the issue by combining the line end scintilla undo action
with a new UNDO_EOL action responsible for updating the line ending
settings.

Fixes #409
2016-06-23 18:10:50 +02:00
Thomas Martitz
2acba3dc31 plugin api: export geanyobject
geanyobject can be used by plugins to connect to plugin signals directly
(required for GI-based plugins). Access through GeanyData::object. The related
doxygen comments are @gironly for now, since plugin_signal_connect() is still
preferred.

Finally, the useless function pointer prototypes are removed from the
GeanyObjectClass structure as they became useless (they have been unused and
generally wrong since ever).
2016-06-22 16:10:32 +02:00
Thomas Martitz
be64b177ca plugin api: convert GeanyEditor to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:10:31 +02:00
Thomas Martitz
7702a4639b plugin api: convert GeanyFiletype to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:10:11 +02:00
Thomas Martitz
60fb01d6db plugin api: convert GeanyDocument to GBoxed internally
GeanyObject signals require GTypes to be gobject-introspection compatible.
2016-06-22 16:09:56 +02:00
Enrico Tröger
fda89798a4 Merge pull request #912 from eht16/spawn_debug_output
Allow spawn debug output also with GEANY_DEBUG
2016-06-20 23:07:10 +02:00
Enrico Tröger
9a471d336d Merge pull request #1079 from eht16/win32_open_uri_error_handling2
Win32: Add UI error message if an URL could not be opened
2016-06-20 23:06:39 +02:00
Enrico Tröger
871a9089b4 Win32: Add UI error message if an URL could not be opened 2016-06-20 23:05:48 +02:00
Enrico Tröger
6aaaba6b41 Improve error message on Build->Run errors
Reword the error message and use the full executed command line
in the error message, not only the configured Terminal command.

Fixes #1077.
2016-06-20 01:39:56 +02:00
Colomban Wendling
f489043864 Merge pull request #946 from techee/scintilla_quartz
Enable buffered draw on newer GTK versions on OS X
2016-06-11 01:09:49 +02:00
Colomban Wendling
021bbfb82b Merge pull request #958 from techee/goto_popup
Improve Goto Symbol popup contents
2016-06-10 23:47:57 +02:00
Colomban Wendling
7fbe6ad832 Merge pull request #957 from techee/ctags_hook
TagManager cleanups
2016-06-10 23:09:09 +02:00
Jiří Techet
20e3681558 Try harder when definition/declaration was not found
Even when we know when should be searching for definition (or declaration),
we can keep searching for the opposite type too when we didn't find
anything with the "correct" def/decl type. So at least we find "something"
of that name.
2016-06-09 10:01:59 +02:00
Jiří Techet
ca8ef9643e Add parentheses in an if to make the condition more clear 2016-06-09 09:41:09 +02:00
Colomban Wendling
d95111d4cd Merge pull request #1039 from techee/highlight_fix2
Fix inconsistent typename highlighting updating.

Closes #1020, #1022.
2016-05-31 16:53:29 +02:00