750 Commits

Author SHA1 Message Date
Thomas Martitz
6e5ca69e2e plugins: add geany_plugin_register_proxy() to the plugin API
This function finally allows plugins to register themselves as a proxy
for one or more file extensions.

Lots of documentation is added to doc/plugins.dox, please refer to that for more
details.
2015-10-05 22:11:12 +02:00
Colomban Wendling
280163a244 Merge pull request #469 from kugel-/new_hooks
Plugin loader redesign
2015-08-23 23:50:44 +02:00
Thomas Martitz
765000be92 plugins: Clarify which API functions may be called within geany_load_module()
Since geany_load_module() is called for non-enabled plugins you may not
use the plugin API here yet. The only exceptions to this rule are API functions
required for plugin registration.

This rule is hard to enforce (would need to g_return_if_val(PLUGIN_LOADED_OK(p))
for all API functions (well, those taking a plugin pointer anyway), so this
rule is only documented for now.
2015-08-23 20:01:42 +02:00
Thomas Martitz
437837d3a5 plugins: separate geany_plugin_set_data() dual-use
It was found that because geany_plugin_set_data() could be used by both
plugin's init() and geany_load_module(), that it introduced some uncertainty
as to when to call the free_func. init() callers might expect the call
around the same time as cleanup() is called, while geany_load_module()
callers expected the call at module unload time.

It was indeed called at module unload time. But that means that init() callers
cannot call it again reliably after in a init()->cleanup()->init() flow (when
toggling the plugin) without fully unloading the plugin (which is what we do
currently but that's we would want to change).

With the separation we can actually destroy the data depending on where
it was set and do everything unambigiously.
2015-08-23 20:01:42 +02:00
Thomas Martitz
d54b65b9ac plugins: Updated doxygen for the new plugin loader
The documentation provides a quite detailed description of the new loader
In addition it adds a "how to transition" that briefly describes the old
loader (for curious newcomers) and lots of hints for porting legacy
plugins to the new loader.
2015-08-23 20:01:41 +02:00
Pavel Sountsov
186a43c1d1 Document the changes to space/tab replacement 2015-08-16 11:22:01 -07:00
Enrico Tröger
2ae6c7fd0f Fix Doxygen warnings
This resolves warnings from Doxygen about non-existing commands
caused by unescaped backslashes as well as multiply
defined section names.
2015-07-22 20:00:34 +02:00
Colomban Wendling
0f5e379ec8 Update making-a-release
* geany.nsi and doc/geany.html are now generated;
* freecode.com is dead.
2015-07-13 00:47:18 +02:00
Colomban Wendling
a50306cab3 Post release version bump
Say hello to Geany 1.26 "Rosset"!
2015-07-12 19:48:50 +02:00
Colomban Wendling
7d9264a6e7 Set release date 2015-07-12 18:04:56 +02:00
Frank Lanitz
59185ae8e0 Update copyright string to reflect year 2015 2015-07-12 17:06:10 +02:00
Frank Lanitz
6c9a55d6ef Update release date inside man-page 2015-07-12 17:05:45 +02:00
Colomban Wendling
bb28bdd1d3 Fix spawn documentation so it appears in the API docs 2015-07-12 16:32:10 +02:00
Colomban Wendling
676f3794fc Merge pull request #553 from b4n/no-reload-maintain-history-by-default
Disable "maintain history on reload" by default
2015-07-11 22:34:41 +02:00
Colomban Wendling
d6d4728f2e Rename "maintain history on reload" setting temporarily for 1.25
We want it disabled by default in 1.25 for everyone, but want to be
able to get it back on by default later on when the UI is more
polished.

So we will need to have a way to tell whether the configuration comes
from 1.25 and should be upgraded or was willfully disabled by the user
in a later version.  So, use a temporary setting name that defaults to
disabled for 1.25

See #553.
2015-07-11 15:44:00 +02:00
Colomban Wendling
3bd7c80776 Replace references to GTK2 with GTK+
This allows to be GTK version agnostic, not to single out GTK3 builds.
2015-07-10 22:58:48 +02:00
Colomban Wendling
6f5d5db2cb Disable "maintain history on reload" by default
While the feature is nice, it might be unexpected and lacks user
feedback.  This might lead to user thinking they lost their work
because they don't know they can undo the reload operation.

So, disable the feature by default until we introduce appropriate user
feedback allowing the user to learn about the feature and new behavior.

See http://lists.geany.org/pipermail/devel/2015-June/thread.html#9537
2015-07-08 17:54:34 +02:00
elextr
54eff298bd Fix Manual for Build Menu Keybindings
Only fixed items can have keybindings but this manual entry was missed when one execute item was changed from fixed to optional.
2015-06-25 05:56:43 +10:00
Colomban Wendling
97a431faf2 Update the documentation on wordchars 2015-05-28 17:55:21 +02:00
Thomas Huth
e9f4365a37 Fix typos in comments (discovered with the codespell utility) 2015-04-18 08:25:59 +02:00
Matthew Brush
bdc082cb77 Bump min. version of GTK2 to 2.24 and GLib to 2.28
Note: This is mostly search and replace. I've only tested with my
GTK+ 2.24.20 and not at all the Waf build system.
2015-04-12 18:05:28 -07:00
Matthew Brush
860df27696 Remove struct/macro/funcptr linkage control for plugin API
Add rest of headers needed for declarations of all public API
functions. Add HAVE_PLUGINS define to geanyplugins.h since some headers
need this and it should always be valid for this header.
geanyfunctions.h left for source-level backwards compatibility for
plugins which might `#include` this header directly. I don't know why
they do it, but some Geany-Plugins do this.
2015-03-10 22:06:47 +01:00
Colomban Wendling
b032f2e214 Merge pull request #426 from techee/run_script_tmp
Create geany_run_script.sh in the temporary directory instead of the
working directory.
2015-03-04 13:58:02 +01:00
Jiří Techet
7b5df86bd1 Create geany_run_script.sh in the temporary directory instead of the working directory
Under some conditions, geany_run_script.sh is not deleted and we
have no means to detect this in Geany (e.g. when the terminal emulator
is started correctly but it fails to execute the script for some reason).
In this case it is better to keep the garbage in /tmp than the working
directory. Apart from that, it eliminates potential transfer of the run script
over a NFS and eliminates the visibility of the script in working directory
on Windows.

Apart from that this patch fixes some locale/utf8 conversion problems
and other subtle problems with the previous implementation.
2015-03-04 11:48:53 +01:00
Dimitar Zhekov
a5b99dc96d Add virtual column and selected chars to the statusbar
Closes https://sourceforge.net/p/geany/patches/10/
2015-03-03 20:07:11 +01:00
Enrico Tröger
7229aa9cff SaveActions: Set file permissions of backup copies to 0600
As discussed in SF bug #125, it might be dangerous to store backup
copies in a publicly accessable directory like /tmp with default
permissions, especially on multi-user systems.
So set the file permissions on non-Windows systems to 0600 by default.
Also improve the documentation of the save Actions plugin to reflect this
change.
2015-01-31 16:11:48 +01:00
Colomban Wendling
d33a23c40c Add missing documentation for message window orientation setting 2015-01-28 15:55:33 +01:00
Colomban Wendling
f403e7e8c2 Merge pull request #188 from artros/feature/keep-edit-history-on-reload
Maintain edit history on document reload

Conflicts:
 * src/callbacks.c: document_reload_prompt().

Amendments:
 * src/document.c: document_redo(), document_undo(): for loop style.
2015-01-28 15:16:40 +01:00
Colomban Wendling
91d5079c8d Merge pull request #378 from b4n/remove-macro-list
Remove "Show macro list" keybinding and feature
2015-01-11 17:33:40 +01:00
Colomban Wendling
740c12c0ca Remove "Show macro list" keybinding and feature
This feature looks like a poorly implemented subset of "Complete word",
but lacks some important features like prefix filtering.  It is also
misnamed as it shows not only macros, but also variables and enums.

It also only shows `editor_prefs.autocompletion_max_entries`, but does
so from *each* file, not as a whole.

So drop it altogether, as this feature doesn't really look useful and
the current implementation seem to suffer of too many shortcomings for
it to realistically be actually used.
2015-01-11 17:30:27 +01:00
Colomban Wendling
e06f47d774 Merge pull request #289 from mspacek/build_line_num
Add %l current line number substitution to build commands
2015-01-05 16:26:03 +01:00
Philipp Wiesemann
fc73fabe4b Fix typos in documentation 2014-12-11 22:58:57 +01:00
Kernc
7a0285eef8 Added some default common linters in the Build menu 2014-11-28 09:08:38 +01:00
Jiří Techet
26587454b0 Remove TmWorkObject and all the OO related stuff
In addition, rename all functions, parameters, comments etc. mentioning
work_object and remove unnecessary parameters of various functions.
Delete dead code paths.

Also move common functions like tm_get_real_path() from tm_work_object to
tm_source_file.
2014-10-18 21:40:10 +02:00
Colomban Wendling
c38f59bbc4 autotools: Only uninstall what we actually installed
Only manually uninstall the files we manually installed, as
uninstall-local might be run in parallel to Automake's own uninstall
targets.

We don't uninstall the directories as some docs seems to suggest
`rmdir` isn't really portable.  Anyway, Automake don't uninstall
directories either so it's not a real problem.

An alternative solution would be to keep the recursive removal of
`$(DOCDIR)` but move it to `uninstall-hook`, which is guaranteed to be
run after other uninstall rules.  However, recursive deletion is not
always sensible as it might remove files we didn't install, e.g. if the
user added them manually.
2014-10-13 23:59:40 +02:00
Colomban Wendling
16716e498d autotools: Remove new Doxygen temporary files 2014-10-13 23:59:40 +02:00
Colomban Wendling
0650e707f1 autotools: Properly clean up hacking.html
We don't distribute it, so we need to clean it.
2014-10-13 23:59:40 +02:00
Matthew Brush
41c66e0eb0 Change "replace_and_find_by_default" default to true 2014-10-10 18:40:54 -07:00
Matthew Brush
bae420a768 Merge branch 'rpalli/replace1'
Closes #189
2014-10-10 18:02:29 -07:00
Roland Pallai
3df962a371 A small styling of the documentation 2014-10-10 00:26:25 +02:00
Roland Pallai
9b2ccb9965 Turn "replace and find by default" boolean pref into a "various" preference. 2014-10-10 00:04:38 +02:00
Roland Pallai
985829afe0 Documentation change for the "Replace&Find by default" behaviour. 2014-10-09 02:07:58 +02:00
Colomban Wendling
d2ce3d6fa1 Merge branch 'doc/untrack-geany.html' 2014-08-29 17:07:08 +02:00
Colomban Wendling
6e755985a8 Update Doxyfile 2014-08-29 17:06:51 +02:00
Colomban Wendling
0453991a61 Don't try to install the HTML documentation if we don't have it 2014-08-29 17:05:18 +02:00
Colomban Wendling
7125075168 Fix HTML documentation installation for VPATH builds 2014-08-29 17:05:18 +02:00
Colomban Wendling
32bda2e6cb Don't clean HTML manual if we didn't build it
Clean the HTML manual upon 'maintainer-clean' rather than 'clean' in
case it was not built by Make but rather part of the distribution.
This is fine even then, as configure will properly require what is
needed to build it again if it is missing.
2014-08-23 18:22:52 +02:00
Colomban Wendling
74006b069c Cleanup doc Makefile so that each conditional set all its targets
Don't set clean-local and all-local dependencies all together at the
end and rather let each section add the appropriate dependencies.
This makes each conditional more self-contained, and is safe as Make
allows adding extra dependencies to existing targets.
2014-08-23 18:14:56 +02:00
Colomban Wendling
602ae0b324 Properly remove generated HTML documentation on clean 2014-08-20 16:40:25 +02:00
Colomban Wendling
80c648e7f3 Remove generated HTML documentation from version control
As it is generated by the build system it doesn't have to be checked
in, and having it in became a whole lot more annoying since it started
being generated automatically on `make all` instead of specific (and
weird) `make doc`, as it means whenever the documentation changes the
HTML is re-generated on any make run.  This is particularly problematic
if using a different Docutils version than the one used to generate the
checked-in version as it would create local noise that should not be
committed, yet keep being annoying.

This situation probably leads to most people disabling (or at least,
not enabling) the documentation generation on normal builds, itself
leading to more hassle updating of the documentation.
2014-08-20 15:44:07 +02:00