76 Commits

Author SHA1 Message Date
Matthew Brush
7d172ceeb3 Improve GeanyProxyProbeResults a litte (#1213)
* Add GEANY_ prefix to enumerators.
* Use a discrete set of enumerators so the proxy doesn't have to
  worry about flag bitmasks, which isn't required.
* Update documentation.
* Use the new enumerators in Geany.
* Improve debug output for bogus values a bit.
2016-09-10 19:18:10 -07:00
Philipp Wiesemann
ad81720d98 Fix typos in plugin documentation 2016-04-10 21:05:50 +02:00
Ben Wiederhake
29a6b9c003 Fix typos
All of these typos were found by codespell, so credits go the
the authors of this incredibly useful tool.

I manually confirmed and adapted all changes, which includes
reflowing over-long lines or filling up with spaces for alignment.

Some of these typos may need forwarding to their original authors.
codespell reported a lot words where I am unsure; I have not
included those corrections.
2016-01-03 18:33:25 +01:00
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
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
bb28bdd1d3 Fix spawn documentation so it appears in the API docs 2015-07-12 16:32:10 +02: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
Matthew Brush
5475d15b87 Remove comment noise from doc/plugins.dox and make it a build depend 2014-04-27 03:53:59 -07:00
Colomban Wendling
edaa6f713f Strip double leading spaces
These are weird and break Doxygen Markdown support.
2014-04-27 04:11:31 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Colomban Wendling
1725b72ec6 Add a node about the possibility for third party plugins to be on p.g.o 2012-05-31 22:53:51 +02:00
Colomban Wendling
a35435b4d9 Reword a few sentences 2012-05-31 22:52:17 +02:00
Frank Lanitz
7b339b8d30 Added a missing word and some smaller changes on spelling (GitHub; pull request) 2012-05-31 22:33:07 +02:00
Frank Lanitz
54ed2189fe Use capitilized version of Git inside documentation 2012-05-31 22:30:44 +02:00
Frank Lanitz
8965b8bc48 Some updates on general API documentation to reflect, that geany-plugins don't use svn anymore 2012-05-31 22:18:03 +02:00
Matthew Brush
51dc2e9baf Support plugins written in C++
Rename use of C++ `template` keyword in plugin API function argument
and add `G_BEGIN_DECLS` and `G_END_DECLS` to public header files to
make them easier to include in C++ code. TagManager and Scintilla
headers already have these `extern "C"` blocks so they shouldn't
require any modifications.

The Autotools build system already adds in a `dummy.cxx` to hint
Automake into C++ linking to support Scintilla, which is quite
convenient for dynamically loading of C++ plugins at run-time into
the otherwise C-only program. The other build systems seem to also
use the correct linking.
2012-03-30 23:35:10 -07:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Nick Treleaven
d63f1f052b Use <geanyplugin.h> not "geanyplugin.h" in the howto.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5999 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-05 15:59:26 +00:00
Frank Lanitz
a2ef453ea3 Update of wording to fix some grammatical issues etc. on plugin howto.
Patch provided by Matthew Brush. Thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5891 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-19 06:55:34 +00:00
Frank Lanitz
4db82ba7fa Update API version used inside plugin howto to a more recent version (API v211).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5888 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-15 19:26:36 +00:00
Frank Lanitz
a9f4dcfbbb Adding a hint to prevent double usage of main_local_init() also to function documentation and correct word order.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5881 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-01 19:31:56 +00:00
Frank Lanitz
26cffeba92 Add hint to prevent double calling of main_local_init() into plugin HowTo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5880 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-01 19:20:39 +00:00
Frank Lanitz
9aaeea1fd6 Adding a hint to main_locale_init() to plugin HowTo
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5879 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-07-31 17:37:12 +00:00
Frank Lanitz
3ee49c6e93 Putting section about Translatable plugin information into subsection
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5878 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-07-31 17:36:53 +00:00
Frank Lanitz
e582590136 Adding some content about PLUGIN_SET_TRANSLATABLE_INFO() into plugin HowTo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5877 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-07-31 17:35:22 +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
Nick Treleaven
148975afa3 Move plugin signals docs to pluginsignals.c, using function
pointer syntax instead of @signaldef as this puts a summary of
the signal names at the top of the page and sorts alphabetically.
(Note: the syntax is similar to Vala signal syntax).



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5065 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-06-25 16:50:27 +00:00
Nick Treleaven
6b4ba38e6d Add API signal "build-start" (patch by Jiří Techet, thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5053 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-06-18 17:15:28 +00:00
Nick Treleaven
de29305a31 Fix not loading plugins built against a newer API when Geany doesn't
provide the required version given in PLUGIN_VERSION_CHECK().
Improve documentation for PLUGIN_VERSION_CHECK().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5051 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-06-18 15:04:07 +00:00
Nick Treleaven
ab8d1b20d9 Add API docs for keybinding enums.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4799 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-04-05 11:42:31 +00:00
Nick Treleaven
90acc27a7a Add Stash setting functions to API.
Remove unnecessary argument to stash_group_load_from_file().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4790 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-30 16:29:38 +00:00
Nick Treleaven
39a6d76e2a Improve API docs contents page by listing all commonly-used files.
Fix 'Date' appearing twice on the date line.
Don't generate API docs for prefs.h, toolbar.h (unused).
Move some '@file' doc-comments to the .c file.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4772 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-03-18 13:13:11 +00:00
Nick Treleaven
2e878dc91b Edit wording/section names.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4535 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-19 15:48:42 +00:00
Nick Treleaven
a81094c197 Fix some spacing.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4534 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-18 17:17:34 +00:00
Nick Treleaven
920f5a55b8 Add gcc commands to build a plugin to the HowTo.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4531 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-18 16:55:49 +00:00
Enrico Tröger
cc19e09d83 Add new signal: "geany-startup-complete" which is sent once all initialization and startup tasks has been done.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4527 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-17 15:17:30 +00:00
Enrico Tröger
7ba4a81181 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Frank Lanitz
3aead1e225 Fix a minor typo inside plugin API reference.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4507 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-12-26 14:13:35 +00:00
Enrico Tröger
316f77f1f8 Add new plugin signal: "document-before-save".
Add get_line_end_position(), set_target_start(), set_target_end(), replace_target() to the plugin API (patch by Eugene Arshinov, thanks).
Add new plugin signal: "document-filetype-set" (closes #2852286).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4162 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-09-06 16:51:11 +00:00
Nick Treleaven
f195153a20 Mention Files link at top for header files; demoplugin.c.
Minor edits; remove 'far from being complete'.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4136 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-08-27 16:13:20 +00:00
Nick Treleaven
5a6ee46699 Add warning about not using undocumented features.
Add reference to HACKING for plugin API development.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4126 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-08-26 14:42:25 +00:00
Enrico Tröger
b25980ba8d Small corrections to some API docs.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4063 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-08-09 20:31:03 +00:00
Nick Treleaven
69922305e0 Add plugin_signal_connect() for connecting plugin signals at
runtime and also for connecting to any GObject signal.
Add 'Plugin Utility Functions' on main page.
Add foreach_array() macro.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4041 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-29 17:40:20 +00:00
Nick Treleaven
c4513eecaf Add geanyplugin.h single include for plugin API; update all core
plugins to use it.
Add sci_set_font() to API.
Update plugin howto.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3966 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-07-14 15:06:20 +00:00
Enrico Tröger
b422347922 Add a plugin howto to the plugin API docs, written by Frank.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3581 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-02-14 17:37:28 +00:00