Write function "show" for own multi-level structure

I want to write a function Base.show for my structure Node:

mutable struct Node

and which will display:

nod = Node(
    ["a", "b", "c", "d"],
        ["aA", "aB", "aC"], 
        [11, 12, 13], 
    ), 2, 3, 4],

as well as display OrderedDict the following dict:

dict_ord = OrderedDict(
    "a" => OrderedDict(
        "aA" => 11,
        "aB" => 12,
        "aC" => 13,
    "b" => 2,
    "c" => 3,  
    "d" => 4,

Besides doing it yourself, you could also consider using existing packages for pretty-printing nested structures, see eg GitHub - MechanicalRabbit/PrettyPrinting.jl: Julia library for optimal formatting of composite data structures

I would like to write my own function so that Atom displays the result near the code, and not in the console, and so that there is a visual disclosure/hiding of nested structures (as in the photo in the description)