Redesign Notes - xcporter/MetaView GitHub Wiki

Proposed Api

Something more granular where classes can be grouped and composed by more specific criteria.

metaview {
    outputFile = path
    outputFormat = UML, DOT?, Mermaid?
    wrapInMarkdown = true
    
    chart<Class>("Our chart title") {
        - delgate("CommonParent")
        - delegate<Interface>
    }
    chart<Function>("Our Functions")
    
    chart ("Custom Chart") {
        mapDelegates = true
//        style only on chart level
        style {
            background = Orange
            itemBorderColor = Red
            groupBackgroundColor = LightBlue
        }
        group("Special classes") {
            + item<Class>("specialclass").showAll()
//           'this' in where would be Element class itself. [Member subclass in brackets]
            + all<Class> where { delegates.contains("specialclass") } [Property, Function, Companion, Annotation]
        }
        
        + all<Function>
        ignoreDelegates("ParentToIgnore", "OtherParent") //vararg
    }
}

Intermediate Syntax Tree

Intermediate Syntax Tree Kotlin

⚠️ **GitHub.com Fallback** ⚠️