aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorgit-marijus <mario@mariovavti.com>2017-05-05 12:33:58 +0200
committerGitHub <noreply@github.com>2017-05-05 12:33:58 +0200
commit3d1df8337e7be3bd273bcc8eb6488a75d0daccdf (patch)
treeac3ce3ff2ed1c67d504ccb32205ac6b2340d60a4 /util
parentf08001a5a64f58f8d93d4fd395bdcf88326771b3 (diff)
parenteeb9103e267a01ad5f076afeb02bedabfcc70db9 (diff)
downloadvolse-hubzilla-3d1df8337e7be3bd273bcc8eb6488a75d0daccdf.tar.gz
volse-hubzilla-3d1df8337e7be3bd273bcc8eb6488a75d0daccdf.tar.bz2
volse-hubzilla-3d1df8337e7be3bd273bcc8eb6488a75d0daccdf.zip
Merge pull request #751 from dawnbreak/docu
:bulb: Add Doxygen fix for @var member variable documentation.
Diffstat (limited to 'util')
-rw-r--r--util/Doxyfile3
-rw-r--r--util/Doxygen_phpvarfilter.php18
2 files changed, 21 insertions, 0 deletions
diff --git a/util/Doxyfile b/util/Doxyfile
index 1bca6cbd4..7be774a81 100644
--- a/util/Doxyfile
+++ b/util/Doxyfile
@@ -32,3 +32,6 @@ DOT_IMAGE_FORMAT = svg
INTERACTIVE_SVG = YES
CLASS_GRAPH = YES
COLLABORATION_GRAPH = NO
+# fix @var (https://bugzilla.gnome.org/show_bug.cgi?id=626105)
+#INPUT_FILTER = "sed -e 's/@var\s/@see /'"
+INPUT_FILTER = "php util/Doxygen_phpvarfilter.php"
diff --git a/util/Doxygen_phpvarfilter.php b/util/Doxygen_phpvarfilter.php
new file mode 100644
index 000000000..da6cf1666
--- /dev/null
+++ b/util/Doxygen_phpvarfilter.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * @file Doxygen_phpvarfilter.php
+ * @brief A Doxygen INPUT_FILTER to parse \@var member variable documentation.
+ *
+ * An input filter for Doxygen to parse \@var class member variable documentation,
+ * so it is a bit more compatible how anybody else interpretes it.
+ *
+ * @see http://stackoverflow.com/questions/4325224/doxygen-how-to-describe-class-member-variables-in-php/8472180#8472180
+ */
+
+$source = file_get_contents($argv[1]);
+
+$regexp = '#\@var\s+([^\s]+)([^/]+)/\s+(var|public|protected|private)\s+(\$[^\s;=]+)#';
+$replac = '${2} */ ${3} ${1} ${4}';
+$source = preg_replace($regexp, $replac, $source);
+
+echo $source;