#!/bin/sh

awk '
    /^module/{
        m=1
        split($2,narr,"(")
        module=narr[1]"()"
    }
    /^function/{
        m=0
        module=""
    }
    /[^=] *assert\(/{
        if(m) {
            if(fname!=FILENAME) {
                fname=FILENAME
                print "File",fname
            }
            if(prevmodule!=module) {
                prevmodule=module
                print "  Module",module
            }
            assertline=$0
            sub(/^ */, "", assertline)
            print "    ",FNR,":",assertline
        }
    }
' *.scad