Annotation of embedaddon/rsync/help-from-md.awk, revision 1.1.1.1

1.1       misho       1: #!/usr/bin/awk -f
                      2: 
                      3: # The caller must pass args: -v hfile=help-NAME.h NAME.NUM.md
                      4: 
                      5: BEGIN {
                      6:     heading = "/* DO NOT EDIT THIS FILE!  It is auto-generated from the option list in " ARGV[1] "! */"
                      7:     findcomment = hfile
                      8:     sub("\\.", "\\.", findcomment)
                      9:     findcomment = "\\[comment\\].*" findcomment
                     10:     backtick_cnt = 0
                     11:     prints = ""
                     12: }
                     13: 
                     14: /^```/ {
                     15:     backtick_cnt++
                     16:     next
                     17: }
                     18: 
                     19: foundcomment {
                     20:     if (backtick_cnt > 1) exit
                     21:     if (backtick_cnt == 1) {
                     22:        gsub(/"/, "\\\"")
                     23:        prints = prints "\n  rprintf(F,\"" $0 "\\n\");"
                     24:     }
                     25:     next
                     26: }
                     27: 
                     28: $0 ~ findcomment {
                     29:     foundcomment = 1
                     30:     backtick_cnt = 0
                     31: }
                     32: 
                     33: END {
                     34:     if (foundcomment && backtick_cnt > 1)
                     35:        print heading "\n" prints > hfile
                     36:     else {
                     37:        print "Failed to find " hfile " section in " ARGV[1]
                     38:        exit 1
                     39:     }
                     40: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>