pipadoc: asciidoc support increment/decrement HEAD's
[nobug] / doc / asciidoc.pawk
1
2 # include asciidoc comments about filename and linenumber in generated document
3 match($0, com "([[:alpha:]][[:alnum:]_]*)(([.]([^[:space:]]*)))?", p) {
4     if(p[1] != old_index)
5     {
6         old_index = p[1]
7         append(p[1], p[4], "// "FILENAME ":" FNR " //")
8     }
9 }
10
11 # Create an asciidoc paragraph and index entry
12 #             Sec       Name  Index Explanation
13 match($0, com"(.*) PARA (.*); *(.*); *(.*)", p) {
14     if(p[3])
15     {
16         append("index", tolower(p[3]), "xref:"p[3]"["p[2]"]:: "p[4])
17         append(p[1],"","[["p[3]"]]")
18     }
19     append(p[1],"","."p[2])
20     next
21 }
22
23 BEGIN {
24     asciidoc_header[0]="="
25     asciidoc_header[1]="-"
26     asciidoc_header[2]="~"
27     asciidoc_header[3]="^"
28     asciidoc_header[4]="+"
29     asciidoc_level=1
30 }
31
32
33 # Create an asciidoc headline and index entry
34 #             Sec      Typ Name  Index Explanation
35 match($0, com"(.*) HEAD([^ ]+) (.*); *(.*); *(.*)", p) {
36     if (p[2] == "==")
37         p[2] = asciidoc_header[asciidoc_level]
38     else if (p[2] == "++")
39     {
40         if (asciidoc_level < 4) ++asciidoc_level
41         p[2] = asciidoc_header[asciidoc_level]
42     }
43     else if (p[2] == "--")
44     {
45         if (asciidoc_level > 1) --asciidoc_level
46         p[2] = asciidoc_header[asciidoc_level]
47     }
48
49     if (p[4])
50     {
51         append("index", tolower(p[4]), "xref:"p[4]"["p[3]"]:: "p[5])
52         append(p[1],"","[["p[4]"]]")
53     }
54     append(p[1],"",p[3])
55     append(p[1],"",gensub(/./, p[2], "g", p[3]))
56     next
57 }
58