3622 Commits

Author SHA1 Message Date
Colomban Wendling
7a2a413f8c Restore sorting order of plugins configuration tabs (broke by me in r5586)
Now simply insert elements in sorted order rather than sorting the
list at a later point: it's simpler, cleaner and probably faster.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5591 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 16:52:12 +00:00
Colomban Wendling
6236c506f2 Use the same indentation for all templates (part of FR#3193527)
From a patch by Matthew Brush, thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5590 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-15 16:51:47 +00:00
Nick Treleaven
e6a7d02fbe Fix sign warning in tag_hash().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5589 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-14 17:37:44 +00:00
Colomban Wendling
8e79a2255a Prefer prepend elements to lists rather than append them
This is for better performances since appending to a list means walking
it to find the last element to append to. When the list ordering
matters, simply reverse the list after prepengins.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5586 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-10 22:27:04 +00:00
Colomban Wendling
6f481c8086 Correctly expand the menubar if the toolbar is appended to it but not visible (closes #3204955)
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5585 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-10 16:05:29 +00:00
Enrico Tröger
c6241e16b8 Fix wrong code example in the API docs (spotted by Matthew Brush, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5584 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-08 20:19:01 +00:00
Colomban Wendling
3ebfcceafe When sorting tags by line, also sort by scope if line is the same
This avoids wrong sorting, and then wrong display in the symbols list,
if a parent tag is on the same line than its children, and one of it's 
children would be sorted before alphabetically (closes #3193982).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5580 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 17:25:15 +00:00
Colomban Wendling
87350d7624 Fix wrong constant variable
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5577 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 17:08:54 +00:00
Enrico Tröger
4f6354d434 Respect saved state of 'Case sensitive' option when using the 'Regular expressions' option as well.
Cleanup.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5575 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 14:36:42 +00:00
Enrico Tröger
56cd8dff87 Remember Find and Replace options across restarts (patch by Dimitar Zhekov, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5573 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 14:18:05 +00:00
Enrico Tröger
3e4a399140 Fix Windows build
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5572 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 13:10:48 +00:00
Enrico Tröger
1920cc6a1d Fix typo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5571 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-06 12:11:54 +00:00
Colomban Wendling
6f7a06780f Improve performances of symbol list updating
Rather than walking the whole tree for each tag to find a possibly
corresponding row, use a hash table as cache.
This is a very significant improvement on large files with many tags,
reducing for example to about 170ms an update that took more than 18s
before.

Also fix merging of tags with same name and scope (probably unlikely to
exist in real-world files, but the tagmanager extract them correctly
and they used to display correctly too).


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5567 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:56:55 +00:00
Colomban Wendling
57d00f48d0 Update the symbol list rather than clearing and re-building it
The main advantages of not clearing and rebuilding the whole list is
that it doesn't loose the folding and selection (as far as the selected
row(s) still exist after the update, of course), and it reduces
flickering upon update.

The current implementation works in 3-steps:
1) mark all rows as invalid;
2) insert/update the rows, according to the new tag list, marking them
   as valid;
3) remove all rows that are still invalid.
This walks (rows) the first time, (tags*rows) the second and (rows) the
third. This also uses an extra column to store the row's validity.

A (probably) better implementation would be to:
1) walk the current rows, updating them if necessary, or removing them;
2) add the remaining tags that weren't there before.
This is probably faster in theory (and probably also in practice), but
it needs to refactor a lot the code to easily update *or* create a row,
what the current code does not provide.
Basically this is would be a two-pass update, walking (rows*tags) in
the first pass, and only the remaining non-added tags in the second.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5562 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:53:13 +00:00
Colomban Wendling
a1a13e18e2 Don't remove and add the symbols tree view if we re-add the same one
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5561 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:51:32 +00:00
Colomban Wendling
f120554364 Provide a GType for TMTag and use it
It is a boxed type but uses reference counting behind the scene. This
allow for example the tag store to make sure the tags it holds are
always valid.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5560 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:50:04 +00:00
Colomban Wendling
88aa81b6a8 Improve implementation of hide_empty_rows() to do all in one shot
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5558 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:47:13 +00:00
Colomban Wendling
67cd5dbd13 Add possibility to update symbol list in IDLE time
Enabled by default, using a minimal delay of 250ms between two updates.
Also add a preference to configure this in Geany's UI, under
Preferences -> Editor -> Completion.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5557 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:46:32 +00:00
Colomban Wendling
676f8e6d76 Enable in-memory tag parsing
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5556 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:44:22 +00:00
Colomban Wendling
569670b771 Move most of TagManager's I/O to MIO
Moved the parsers to MIO, which allows both in-memory and file parsing.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5555 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-05 22:40:50 +00:00
Colomban Wendling
77e400d1aa Add missing documentation to some plugin API functions
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5553 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-02 21:08:51 +00:00
Enrico Tröger
84da9b961b Welcome Colomban Wendling, a new Geany developer.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5552 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-03-02 20:16:00 +00:00
Nick Treleaven
4998d40f46 Fix segfault when inserting e.g. fileheader template when the
template file is empty (#3070913, thanks to lphilpot).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5544 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-02-22 17:15:29 +00:00
Enrico Tröger
bf4067f910 Rename utils_is_file_writeable() into utils_is_file_writable().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5539 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-02-06 16:47:18 +00:00
Enrico Tröger
426dbff4b6 Add a warning if writing the project file fails on close.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5538 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-02-06 16:36:04 +00:00
Enrico Tröger
277e2c2cdf Improve error checking when trying to write project files (patch by Colomban Wendling, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5537 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-02-06 16:32:49 +00:00
Enrico Tröger
ec408fa4b9 Add filetype Cobol (based on a patch by Seth Keiper).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5533 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-30 15:03:51 +00:00
Enrico Tröger
e7e9410c5c Ensure the editor widget has the focus when the editor menu is called.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5532 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-30 13:48:21 +00:00
Enrico Tröger
044791794f Post-release version bump.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5529 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:47:35 +00:00
Enrico Tröger
6ac2623208 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Enrico Tröger
f3b425fd64 Add and use secondary keywords for filetype JavaScript, update and sanitize JavaScript keyword lists (patch by Jason Oster, thank you).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5526 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-18 19:29:15 +00:00
Frank Lanitz
c05ac6f39b Added Rafael Peregrino da Silva to list of contributors for Brazilian Portuguese (pt_BR) translation.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5524 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-11 21:49:23 +00:00
Nick Treleaven
43dc30a5d1 Merge trunk to r5519.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/unstable@5520 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-10 13:58:12 +00:00
Nick Treleaven
c8cd1a0457 Thanks to Matthew Brush.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5519 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-10 13:39:47 +00:00
Nick Treleaven
4d4bf2f347 Add Save As toolbar button option (patch by Matthew Brush, thanks;
#3153490).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-10 13:35:29 +00:00
Nick Treleaven
3ba9517d8f Add debug message with the number of compatible plugins in each
plugin search path when showing the Plugin Manager dialog.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5507 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-04 12:41:22 +00:00
Nick Treleaven
6c30fc692f Add Edit->Insert Alternative White Space menu item (was previously
removed from Edit->Commands submenu).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5498 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-24 13:31:39 +00:00
Nick Treleaven
4c17428732 Add filetypes_get_display_name() to API.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5497 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-22 16:59:38 +00:00
Nick Treleaven
467450fdce Scroll to the current line when moving the cursor to the next
cursor position in a snippet (#3139490).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5495 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-22 13:44:41 +00:00
Nick Treleaven
7a35566cc8 Fix detecting non-lowercase self-closing tags e.g. <BR> (#2226117).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/unstable@5494 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-22 13:18:26 +00:00
Nick Treleaven
910e4afb29 Split Preferences dialog Interface tab into subnotebook to reduce
height of dialog (fixes #3141277). Reuses existing strings.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5493 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-22 12:49:56 +00:00
Nick Treleaven
e507c9b352 Remove unused variables.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5481 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-09 15:34:28 +00:00
Nick Treleaven
4ba5b4c217 Use italic for note labels in the Build Commands dialog.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5480 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-09 13:14:50 +00:00
Nick Treleaven
df2e2c9e33 Reduce Set Build Commands dialog column 1 width by using '#' label.
Fix memory leak.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5479 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-09 13:03:42 +00:00
Nick Treleaven
3637847355 Replace doc-comments with '/* *' comments to show there's no build
API for plugins.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5478 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-08 17:13:10 +00:00
Nick Treleaven
b595c0a3d8 Disable 'Send Selection to Terminal' item when not available
instead of removing it to avoid trailing separator.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5472 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-07 13:25:11 +00:00
Nick Treleaven
650b5ae84a Fix some more wrong uses of vte_info.load_vte instead of
vte_info.have_vte.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5471 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-07 13:16:57 +00:00
Nick Treleaven
d65d3adcc4 Fix segfaults when using 'Send Selection to Terminal' and the VTE
is not loaded, and when using Ctrl-A after enabling the 'Load VTE'
pref (patch by Dimitar Zhekov, thanks).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5470 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-07 13:02:46 +00:00
Nick Treleaven
bc837b18a5 Improve error message for document_save_file() if doc->file_name is
NULL (reusing existing strings).
Add warning about this in the API docs.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5466 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-06 18:04:42 +00:00
Nick Treleaven
1f2ef01d31 Warn about file truncation if unsafe file saving fails.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5455 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-12-01 13:06:01 +00:00