[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 13/21] texi2pod: learn quotation, deftp and defty
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v8 13/21] texi2pod: learn quotation, deftp and deftypefn |
Date: |
Fri, 13 Jan 2017 15:41:27 +0100 |
Learn a few more markups used for API documentation.
Signed-off-by: Marc-André Lureau <address@hidden>
---
scripts/texi2pod.pl | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 51 insertions(+), 3 deletions(-)
diff --git a/scripts/texi2pod.pl b/scripts/texi2pod.pl
index 8767662d30..6e8fec41a1 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)$/) {
@@ -303,6 +305,7 @@ while(<$inf>) {
$ic =~ s/\@(?:code|kbd)/C/;
$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
$ic =~ s/\@(?:file)/F/;
+ $ic =~ s/\@(?:asis)//;
$_ = "\n=over 4\n";
};
@@ -323,10 +326,54 @@ 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.
- $_ = "\n=item $ic\<$1\>\n";
+ if ($ic eq "") {
+ $_ = "\n=item $1\n";
+ } else {
+ # Entity escapes prevent munging by the <> processing below.
+ $_ = "\n=item $ic\<$1\>\n";
+ }
} else {
$_ = "\n=item $ic\n";
$ic =~ y/A-Ya-y/B-Zb-z/;
@@ -388,6 +435,7 @@ sub postprocess
s/address@hidden([^\}]*)\}/\U$1/g;
s/address@hidden([^\}]*)\}/F<$1>/g;
s/address@hidden([^\}]*)\}/S<$1>/g;
+ s/address@hidden([^\}]*)\}/$1/g;
s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
# keep references of the form @ref{...}, print them bold
--
2.11.0
- Re: [Qemu-devel] [PATCH v8 07/21] qapi: avoid interleaving sections and parameters, (continued)
- [Qemu-devel] [PATCH v8 11/21] qapi: rework qapi Exception, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 13/21] texi2pod: learn quotation, deftp and deftypefn,
Marc-André Lureau <=
- [Qemu-devel] [PATCH v8 17/21] build-sys: use --no-split for info, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 16/21] docs: add qemu logo to pdf, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 18/21] build-sys: remove dvi doc generation, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 19/21] build-sys: use a generic TEXI2MAN rule, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 20/21] build-sys: add txt documentation rules, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 21/21] build-sys: add qapi doc generation targets, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 15/21] qapi: add qapi2texi script, Marc-André Lureau, 2017/01/13
- [Qemu-devel] [PATCH v8 14/21] (SQUASHED) move doc to schema, Marc-André Lureau, 2017/01/13