Mercurial > p > roundup > code
annotate doc/format_config.awk @ 8036:8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
Added section anchors for each section of config.ini in the
reference.html file. This makes it easier to link to the right section
of the config file when discussing config.ini settings.
Getting this to work using the initial sed implementation was going to
be a nightmare, so rewrote it in awk.
The pre-section comments are now separated by a blank line from the
section marker. Also rst directives no longer have blank lines between
them.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Mon, 17 Jun 2024 22:58:18 -0400 |
| parents | |
| children | c3bf229d3d4b |
| rev | line source |
|---|---|
|
8036
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
1 #! /bin/awk |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
2 |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
3 # delete first 8 lines |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
4 NR < 9 {next} |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
5 |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
6 # When we see a section [label]: |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
7 # emit section index marker, |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
8 # emit section anchor |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
9 # set up for code formating |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
10 # emit any comments/blank line that are accumulated before the |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
11 # section marker |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
12 # print the indented section marker |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
13 # |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
14 # zero the accumulator and the variable that prevents large blocks |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
15 # of empty lines. |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
16 /^\[([a-z]*)\]/ { match($0, /^\[([a-z]*)\].*/, section_match); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
17 section = section_match[1]; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
18 print("\n\n.. index:: config.ini; sections " section); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
19 print(".. _`config-ini-section-" section "`:"); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
20 print(".. code:: ini\n"); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
21 if (accumulate) { |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
22 print(" " accumulate "\n"); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
23 } |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
24 print(" " $0); |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
25 accumulate = ""; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
26 prev_line_is_blank = 0; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
27 } |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
28 |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
29 # if the line is a setting line (even if commented out) |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
30 # print the accumulated comments/blank lines and the setting line |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
31 # zero the accumulator and the variable that prevents blocks of blank lines |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
32 # get the next input line |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
33 /^#?[a-z0-9_-]* =/ { print accumulate "\n " $0; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
34 accumulate = ""; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
35 prev_line_is_blank = 0; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
36 next; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
37 } |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
38 |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
39 # accumulate comment lines and indent them |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
40 /^#/ { accumulate = accumulate "\n " $0; prev_line_is_blank = 0;} |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
41 |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
42 # accumulate a blank line only if the previous line was not blank. |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
43 /^$/ { if (! prev_line_is_blank) {accumulate = accumulate $0}; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
44 prev_line_is_blank = 1; |
|
8b5f8b950f58
docs: add section anchors to config.ini in references.txt; change format
John Rouillard <rouilj@ieee.org>
parents:
diff
changeset
|
45 } |
