[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/5] texi2pod: learn quotation, deftp and deftypefn
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH 4/5] texi2pod: learn quotation, deftp and deftypefn |
Date: |
Fri, 3 Jul 2015 11:51:03 +0200 |
From: Marc-André Lureau <address@hidden>
Learn a few more markups used for API documentation.
Signed-off-by: Marc-André Lureau <address@hidden>
---
scripts/texi2pod.pl | 44 +++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
index 94097fb..3590a2d 100755
--- a/scripts/texi2pod.pl
+++ b/scripts/texi2pod.pl
@@ -37,6 +37,7 @@ $inf = "";
$ibase = "";
@ipath = ();
$encoding = undef;
address@hidden = ();
while ($_ = shift) {
if (/^-D(.*)$/) {
@@ -162,7 +163,8 @@ while(<$inf>) {
if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) {
$skipping = pop @skstack;
next;
- } elsif ($ended =~ /^(?:example|smallexample|display)$/) {
+ } elsif ($ended =~ /^(?:example|smallexample|display
+ |quotation|deftp|deftypefn)$/x) {
$shift = "";
$_ = ""; # need a paragraph break
} elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
@@ -323,6 +325,46 @@ while(<$inf>) {
$_ = "\n=item ".join (" : ", @columns)."\n";
};
+ /^\@(quotation)\s*(.+)?$/ and do {
+ push @endwstack, $endw;
+ $endw = $1;
+ $_ = "\n$2:"
+ };
+
+ /^{(.*)}$|^(.*)$/ and $#args > 0 and do {
+ $kind = $args[0];
+ $arguments = $1 // "";
+ if ($endw eq "deftypefn") {
+ $ret = $args[1];
+ $fname = "B<$args[2]>";
+ $_ = $ret ? "$ret " : "";
+ $_ .= "$fname $arguments ($kind)";
+ } else {
+ $_ = "B<$args[1]> ($kind)\n\n$arguments";
+ }
+ @args = ();
+ };
+
+ /^\@(deftp)\s*(.+)?$/ and do {
+ push @endwstack, $endw;
+ $endw = $1;
+ $arg = $2;
+ $arg =~ s/{([^}]*)}/$1/g;
+ $arg =~ s/address@hidden//;
+ @args = split (/ /, $arg);
+ $_ = "";
+ };
+
+ /^\@(deftypefn)\s*(.+)?$/ and do {
+ push @endwstack, $endw;
+ $endw = $1;
+ $arg = $2;
+ $arg =~ s/{([^}]*)}/$1/g;
+ $arg =~ s/address@hidden//;
+ @args = split (/ /, $arg);
+ $_ = "";
+ };
+
/address@hidden(.+)?$/ and do {
if (defined $1) {
# Entity escapes prevent munging by the <> processing below.
--
2.4.3
- [Qemu-devel] [PATCH 0/5] RFC: generate QAPI doc from json, Marc-André Lureau, 2015/07/03
- [Qemu-devel] [PATCH 1/5] qapi: add comment block before ChardevDummy, Marc-André Lureau, 2015/07/03
- [Qemu-devel] [PATCH 2/5] qapi: add missing @, Marc-André Lureau, 2015/07/03
- [Qemu-devel] [PATCH 3/5] qapi: add qapi2texi script, Marc-André Lureau, 2015/07/03
- [Qemu-devel] [PATCH 4/5] texi2pod: learn quotation, deftp and deftypefn,
Marc-André Lureau <=
- [Qemu-devel] [PATCH 5/5] build-sys: generate QAPI doc based on json, Marc-André Lureau, 2015/07/03