59 Commits

Author SHA1 Message Date
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
Enrico Tröger
b2eeefc919 Add some missing @since tags to the API documentation of various functions.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3531 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-30 18:53:23 +00:00
Enrico Tröger
84fc7556eb Add a few notes about basic plugin writing guidelines.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3530 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-30 18:10:27 +00:00
Enrico Tröger
f22c9a5916 Mention necessary header includes in the plugin signal descriptions.
Add missing header includes for the demoplugin.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3522 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-28 17:55:58 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Enrico Tröger
44b7d27b50 Add "editor-notify" to the plugin API.
This signal is emitted whenever something in an editor widget changes, e.g. a character was typed.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3391 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-17 16:00:18 +00:00
Nick Treleaven
5e85300f65 Deprecate pluginmacros.h in favour of geanyfunctions.h.
Move geany macro to plugindata.h.
Remove geanyfunctions.h dependency on pluginmacros.h.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3311 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-12-04 13:26:48 +00:00
Nick Treleaven
03f0700c23 Add plugin signal "document-close", sent just before a document is
closed.
(Merged from split-window-plugin branch).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2953 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 15:47:26 +00:00
Nick Treleaven
86a7cb2ec9 Fix wrong parameter for "project-close" signal.
(Merged from split-window-plugin branch).

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2952 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-16 15:42:27 +00:00
Enrico Tröger
f101e95aab New website address: www.geany.org.
Merge README.I18N with latest from the wiki.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2917 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-09-01 11:15:16 +00:00
Nick Treleaven
18ced215d1 Remove deprecated macros and typedefs (except DOC_IDX_*), as some of
them are likely to cause naming conflicts and all plugins will need
updating since 0.14 anyway.
Add geany macro that simply expands to geany_data.
Deprecate app, main_widgets, prefs, project macros, as the geany
macro can be used instead.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2761 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-07 16:16:18 +00:00
Nick Treleaven
61bea15355 Rename plugin-symbols.c pluginsymbols.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2760 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-07 13:08:07 +00:00
Enrico Tröger
b14568d1f8 Rename signal "populate-edit-menu" into "update-editor-menu".
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2755 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-05 09:37:37 +00:00
Enrico Tröger
2d5d52a08d Add plugin signal "populate-edit-menu" to notify plugins when the editing menu is shown.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2733 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-28 15:46:07 +00:00
Nick Treleaven
652d073d62 Merge the document-pointer branch.
Note: this breaks the plugin API for document functions,
document signal callbacks, msgwin_msg_add() and navqueue_goto_line().
Make all DocumentFuncs use a GeanyDocument* instead of an integer
index, so there's no need to access the documents array or use
DOC_IDX_VALID() - usually just check for non-NULL.
Pass a document pointer to the callbacks of all document-* signals.
Add GeanyDocument::index field for use with the documents array.
Remove DocumentFuncs::get_cur_idx() - use get_current() instead.
Replace DocumentFuncs::get_n_idx() with get_from_page().
Rename DocumentFuncs::find_by_realpath() to find_by_real_path().
Replace DocumentFuncs::remove() with remove_page().
Add 'changed' argument for DocumentFuncs::set_text_changed().
Make NavQueueFuncs and MsgWinFuncs use a GeanyDocument* instead of an
integer index.
Add DOC_VALID() macro.
Add deprecated DOC_IDX() macro to get the document index from a
possibly NULL pointer; deprecate macro DOC_IDX_VALID. These macros
can make porting outside plugins easier; of course, it is better to
rewrite the code to use document pointers.
Use document pointer instead of an index to the documents array
everywhere in the core code.
Rename utils_check_disk_status() in document_check_disk_status() and
move it into document.c.
Adjust plugins to work with these changes.
Add dox for document_set_filetype().
Rename debugging function doc() doc_at() to avoid conflicts.
Update plugin signals dox.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2705 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-18 17:03:08 +00:00
Nick Treleaven
df1a8e63a3 Add plugin_ prefix for plugin symbols version_check, init and
cleanup. Deprecate init and cleanup; update PLUGIN_VERSION_CHECK
macro.
Add a debug message and fail to load a plugin if it has no
plugin_version_check() function.
Check that plugin keybinding names have been set in plugin_init(),
otherwise print a debug message and ignore all of them.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2616 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-26 17:09:43 +00:00
Nick Treleaven
8c1c59eecf Deprecate PLUGIN_INFO() in favour of PLUGIN_SET_INFO().
Remove plugin symbol info(), which is replaced by plugin_set_info()
and a new symbol plugin_info. This is so the PluginInfo struct is
zero'd first by Geany, so plugins are still ABI compatible if we
want to add any more fields in the future.
Fail to load a plugin if plugin_info->name is not set.
Remove now unused string.h include from plugindata.h.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2612 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-23 17:08:58 +00:00
Nick Treleaven
f8afbf10ed Make GeanyCallback, geany_callbacks deprecated, and replace with
PluginCallback, plugin_callbacks. This is because the array is owned
by the plugin, not Geany.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2610 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-05-23 12:29:32 +00:00