40 lines · 770 B · Text
RawDownload
#!/usr/bin/awk -f # The caller must pass args: -v hfile=help-NAME.h NAME.NUM.md BEGIN {    heading = "/* DO NOT EDIT THIS FILE!  It is auto-generated from the option list in " ARGV[1] "! */"    findcomment = hfile    sub("\\.", "\\.", findcomment)    findcomment = "\\[comment\\].*" findcomment    backtick_cnt = 0    prints = ""} /^```/ {    backtick_cnt++    next} foundcomment {    if (backtick_cnt > 1) exit    if (backtick_cnt == 1) {	gsub(/"/, "\\\"")	prints = prints "\n  rprintf(F,\"" $0 "\\n\");"    }    next} $0 ~ findcomment {    foundcomment = 1    backtick_cnt = 0} END {    if (foundcomment && backtick_cnt > 1)	print heading "\n" prints > hfile    else {	print "Failed to find " hfile " section in " ARGV[1]	exit 1    }}