Add 'Doc-comments' plugin API subsection.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4368 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
parent
29b8a57133
commit
87ec6a3a2d
@ -11,6 +11,8 @@
|
|||||||
* src/build.c, src/build.h:
|
* src/build.c, src/build.h:
|
||||||
Move function doc-comments to build.c so they stay in sync. Note:
|
Move function doc-comments to build.c so they stay in sync. Note:
|
||||||
these functions are still not in the API.
|
these functions are still not in the API.
|
||||||
|
* HACKING:
|
||||||
|
Add 'Doc-comments' plugin API subsection.
|
||||||
|
|
||||||
|
|
||||||
2009-10-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
|
2009-10-25 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
|
||||||
|
16
HACKING
16
HACKING
@ -66,8 +66,8 @@ Avoid adding code to geany.h if it will fit better elsewhere.
|
|||||||
See the top of each ``src/*.c`` file for a brief description of what
|
See the top of each ``src/*.c`` file for a brief description of what
|
||||||
it's for.
|
it's for.
|
||||||
|
|
||||||
Keeping the plugin ABI stable
|
Plugin API code
|
||||||
-----------------------------
|
---------------
|
||||||
Please be aware that anything with a doc-comment (a comment with an
|
Please be aware that anything with a doc-comment (a comment with an
|
||||||
extra asterix: ``/**``) is something in the plugin API. Things like
|
extra asterix: ``/**``) is something in the plugin API. Things like
|
||||||
enums and structs can usually still be appended to, ensuring that all
|
enums and structs can usually still be appended to, ensuring that all
|
||||||
@ -80,13 +80,15 @@ the existing elements stay in place - this will keep the ABI stable.
|
|||||||
structs by plugins, not just for accessing struct members through
|
structs by plugins, not just for accessing struct members through
|
||||||
a pointer.
|
a pointer.
|
||||||
|
|
||||||
|
Keeping the plugin ABI stable
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
Before the 1.0 release series, the ABI can change when necessary, and
|
Before the 1.0 release series, the ABI can change when necessary, and
|
||||||
even the API can change. An ABI change just means that all plugins will
|
even the API can change. An ABI change just means that all plugins will
|
||||||
not load and they must be rebuilt. An API change means that some plugins
|
not load and they must be rebuilt. An API change means that some plugins
|
||||||
might not build correctly.
|
might not build correctly.
|
||||||
|
|
||||||
If you're reordering or changing existing elements of structs that are
|
If you're reordering or changing existing elements of structs that are
|
||||||
used as part of the plugin API, you should increment GEANY_ABI_VERSION
|
used as part of the plugin API, you must increment GEANY_ABI_VERSION
|
||||||
in plugindata.h. This is usually not needed if you're just appending
|
in plugindata.h. This is usually not needed if you're just appending
|
||||||
fields to structs. The GEANY_API_VERSION value should be incremented
|
fields to structs. The GEANY_API_VERSION value should be incremented
|
||||||
for any changes to the plugin API, including appending elements.
|
for any changes to the plugin API, including appending elements.
|
||||||
@ -102,6 +104,14 @@ You should not make plugins rely on the size of a struct. This means:
|
|||||||
* Don't add any array fields to structs in case we want to change the
|
* Don't add any array fields to structs in case we want to change the
|
||||||
array size later.
|
array size later.
|
||||||
|
|
||||||
|
Doc-comments
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
* The @file tag can go in the source .c file, but use the .h header name so
|
||||||
|
it appears normally in the generated documentation. See ui_utils.c for an
|
||||||
|
example.
|
||||||
|
* Function doc-comments should always go in the source file, not the
|
||||||
|
header, so they can be updated if/when the implementation changes.
|
||||||
|
|
||||||
Glade
|
Glade
|
||||||
-----
|
-----
|
||||||
Use the code generation features of Glade instead of editing interface.c
|
Use the code generation features of Glade instead of editing interface.c
|
||||||
|
Loading…
x
Reference in New Issue
Block a user