From e79b20448ed65cc49a765225cdc85a6c58804fef Mon Sep 17 00:00:00 2001
From: Michiel Cottaar <MichielCottaar@protonmail.com>
Date: Wed, 15 May 2024 18:46:04 +0100
Subject: [PATCH] DOC: Add type diagram to api.md

---
 docs/Project.toml |  1 +
 docs/src/api.md   | 13 +++++++++++++
 2 files changed, 14 insertions(+)

diff --git a/docs/Project.toml b/docs/Project.toml
index d6f9620..a54a4e2 100644
--- a/docs/Project.toml
+++ b/docs/Project.toml
@@ -1,4 +1,5 @@
 [deps]
+AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
 CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
 Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
 MRIBuilder = "691e6122-0b62-4932-92e7-e4ff0ddaf3a0"
diff --git a/docs/src/api.md b/docs/src/api.md
index e8c124c..0407488 100644
--- a/docs/src/api.md
+++ b/docs/src/api.md
@@ -3,6 +3,19 @@ CollapsedDocStrings = true
 ```
 
 # MRIBuilder.jl internal API
+## Type diagram
+```@eval
+import MRIBuilder.Variables: AbstractBlock
+import InteractiveUtils: subtypes
+using AbstractTrees
+import Markdown
+AbstractTrees.children(x::Type) = subtypes(x)
+io = IOBuffer()
+print_tree(io, AbstractBlock)
+seek(io, 0)
+Markdown.parse("```\n" * read(io, String) * "```")
+```
+
 ## Sequence components
 ```@autodocs
 Modules = [
-- 
GitLab