| #!/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 |
| } |
| } |