[geany/geany] 3512f6: gtkdoc: add support for array annotions

Thomas Martitz git-noreply at xxxxx
Mon Dec 3 20:51:01 UTC 2018


Branch:      refs/heads/master
Author:      Thomas Martitz <kugel at rockbox.org>
Committer:   Thomas Martitz <kugel at rockbox.org>
Date:        Mon, 03 Dec 2018 20:51:01 UTC
Commit:      3512f6cc7430cbc8c52b0b474e5b72d58ed75863
             https://github.com/geany/geany/commit/3512f6cc7430cbc8c52b0b474e5b72d58ed75863

Log Message:
-----------
gtkdoc: add support for array annotions

We can now use @array and @arraylen{param} annotations for arrays that
will make it to the generated gtkdoc header.

g-ir-scanner cannot properly parse 'gchar **' parameters without this.


Modified Paths:
--------------
    doc/Doxyfile.in
    scripts/gen-api-gtkdoc.py

Modified: doc/Doxyfile.in
2 lines changed, 2 insertions(+), 0 deletions(-)
===================================================================
@@ -262,6 +262,8 @@ ALIASES               += "optional=\noop \xmlonly <simplesect kind=\"geany:optio
 ALIASES               += "cb=\noop \xmlonly <simplesect kind=\"geany:scope\">notified</simplesect>\endxmlonly"
 ALIASES               += "cbdata=\noop \xmlonly <simplesect kind=\"geany:closure\"></simplesect>\endxmlonly"
 ALIASES               += "cbfree=\noop \xmlonly <simplesect kind=\"geany:destroy\"></simplesect>\endxmlonly"
+ALIASES               += "array=\noop \xmlonly <simplesect kind=\"geany:array\"></simplesect>\endxmlonly"
+ALIASES               += "arraylen{1}=\noop \xmlonly <simplesect kind=\"geany:array\">length=\1</simplesect>\endxmlonly"
 
 
 # This tag can be used to specify a number of word-keyword mappings (TCL only).


Modified: scripts/gen-api-gtkdoc.py
7 lines changed, 5 insertions(+), 2 deletions(-)
===================================================================
@@ -75,11 +75,14 @@ def cb(self, type, str):
                       "geany:closure",
                       "geany:destroy"):
             self.annot.append(type.split(":")[1])
-        elif type in ("geany:transfer",
+        elif type in ("geany:array",
+                      "geany:transfer",
                       "geany:element-type",
                       "geany:scope"):
             type = type.split(":")[1]
-            self.annot.append("%s %s" % (type, str))
+            if len(str):
+                str = " " + str
+            self.annot.append("%s%s" % (type, str))
         elif (type == "see"):
             return "See " + str
         elif type in ("a", "c") and str in ("NULL", "TRUE", "FALSE"):



--------------
This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).


More information about the Commits mailing list