1#!/bin/sh
2
3awk '
4 /^module/{
5 m=1
6 split($2,narr,"(")
7 module=narr[1]"()"
8 }
9 /^function/{
10 m=0
11 module=""
12 }
13 /[^=] *assert\(/{
14 if(m) {
15 if(fname!=FILENAME) {
16 fname=FILENAME
17 print "File",fname
18 }
19 if(prevmodule!=module) {
20 prevmodule=module
21 print " Module",module
22 }
23 assertline=$0
24 sub(/^ */, "", assertline)
25 print " ",FNR,":",assertline
26 }
27 }
28' *.scad
29