texi2pod: learn quotation, deftp and deftypefn
Learn a few more markups used for API documentation. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20170113144135.5150-14-marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
		
							parent
							
								
									4148c298d8
								
							
						
					
					
						commit
						eaea2bf72f
					
				| 
						 | 
					@ -37,6 +37,7 @@ $inf = "";
 | 
				
			||||||
$ibase = "";
 | 
					$ibase = "";
 | 
				
			||||||
@ipath = ();
 | 
					@ipath = ();
 | 
				
			||||||
$encoding = undef;
 | 
					$encoding = undef;
 | 
				
			||||||
 | 
					@args = ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
while ($_ = shift) {
 | 
					while ($_ = shift) {
 | 
				
			||||||
    if (/^-D(.*)$/) {
 | 
					    if (/^-D(.*)$/) {
 | 
				
			||||||
| 
						 | 
					@ -162,7 +163,8 @@ while(<$inf>) {
 | 
				
			||||||
	if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) {
 | 
						if ($ended =~ /^(?:ifset|ifclear|ignore|menu|iftex)$/) {
 | 
				
			||||||
	    $skipping = pop @skstack;
 | 
						    $skipping = pop @skstack;
 | 
				
			||||||
	    next;
 | 
						    next;
 | 
				
			||||||
	} elsif ($ended =~ /^(?:example|smallexample|display)$/) {
 | 
						} elsif ($ended =~ /^(?:example|smallexample|display
 | 
				
			||||||
 | 
					                            |quotation|deftp|deftypefn)$/x) {
 | 
				
			||||||
	    $shift = "";
 | 
						    $shift = "";
 | 
				
			||||||
	    $_ = "";	# need a paragraph break
 | 
						    $_ = "";	# need a paragraph break
 | 
				
			||||||
	} elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
 | 
						} elsif ($ended =~ /^(?:itemize|enumerate|[fv]?table)$/) {
 | 
				
			||||||
| 
						 | 
					@ -303,6 +305,7 @@ while(<$inf>) {
 | 
				
			||||||
	$ic =~ s/\@(?:code|kbd)/C/;
 | 
						$ic =~ s/\@(?:code|kbd)/C/;
 | 
				
			||||||
	$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
 | 
						$ic =~ s/\@(?:dfn|var|emph|cite|i)/I/;
 | 
				
			||||||
	$ic =~ s/\@(?:file)/F/;
 | 
						$ic =~ s/\@(?:file)/F/;
 | 
				
			||||||
 | 
						$ic =~ s/\@(?:asis)//;
 | 
				
			||||||
	$_ = "\n=over 4\n";
 | 
						$_ = "\n=over 4\n";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -323,10 +326,54 @@ while(<$inf>) {
 | 
				
			||||||
	$_ = "\n=item ".join (" : ", @columns)."\n";
 | 
						$_ = "\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/\@$//;
 | 
				
			||||||
 | 
					        @args = split (/ /, $arg);
 | 
				
			||||||
 | 
					        $_ = "";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /^\@(deftypefn)\s*(.+)?$/ and do {
 | 
				
			||||||
 | 
					        push @endwstack, $endw;
 | 
				
			||||||
 | 
					        $endw = $1;
 | 
				
			||||||
 | 
					        $arg = $2;
 | 
				
			||||||
 | 
					        $arg =~ s/{([^}]*)}/$1/g;
 | 
				
			||||||
 | 
					        $arg =~ s/\@$//;
 | 
				
			||||||
 | 
					        @args = split (/ /, $arg);
 | 
				
			||||||
 | 
					        $_ = "";
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /^\@itemx?\s*(.+)?$/ and do {
 | 
					    /^\@itemx?\s*(.+)?$/ and do {
 | 
				
			||||||
	if (defined $1) {
 | 
						if (defined $1) {
 | 
				
			||||||
	    # Entity escapes prevent munging by the <> processing below.
 | 
					            if ($ic eq "") {
 | 
				
			||||||
	    $_ = "\n=item $ic\<$1\>\n";
 | 
					                $_ = "\n=item $1\n";
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                # Entity escapes prevent munging by the <> processing below.
 | 
				
			||||||
 | 
					                $_ = "\n=item $ic\<$1\>\n";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
	    $_ = "\n=item $ic\n";
 | 
						    $_ = "\n=item $ic\n";
 | 
				
			||||||
	    $ic =~ y/A-Ya-y/B-Zb-z/;
 | 
						    $ic =~ y/A-Ya-y/B-Zb-z/;
 | 
				
			||||||
| 
						 | 
					@ -388,6 +435,7 @@ sub postprocess
 | 
				
			||||||
    s/\@sc\{([^\}]*)\}/\U$1/g;
 | 
					    s/\@sc\{([^\}]*)\}/\U$1/g;
 | 
				
			||||||
    s/\@file\{([^\}]*)\}/F<$1>/g;
 | 
					    s/\@file\{([^\}]*)\}/F<$1>/g;
 | 
				
			||||||
    s/\@w\{([^\}]*)\}/S<$1>/g;
 | 
					    s/\@w\{([^\}]*)\}/S<$1>/g;
 | 
				
			||||||
 | 
					    s/\@t\{([^\}]*)\}/$1/g;
 | 
				
			||||||
    s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
 | 
					    s/\@(?:dmn|math)\{([^\}]*)\}/$1/g;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # keep references of the form @ref{...}, print them bold
 | 
					    # keep references of the form @ref{...}, print them bold
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue