Skip to content

TreeΒ€

Markdown Exec provides a tree formatter that can be used to render file-system trees easily:

```tree
root1
    file1
    dir1
        file
    dir2
        file1
        file2
    file2
    file3
root2
    file1
```
πŸ“ root1
β”œβ”€β”€ πŸ“„ file1
β”œβ”€β”€ πŸ“ dir1
β”‚   └── πŸ“„ file
β”œβ”€β”€ πŸ“ dir2
β”‚   β”œβ”€β”€ πŸ“„ file1
β”‚   └── πŸ“„ file2
β”œβ”€β”€ πŸ“„ file2
└── πŸ“„ file3
πŸ“ root2
└── πŸ“„ file1

By default, the language used for syntax highlight is bash. It means you can add comments with #:

```tree
root1            # comment 1
    file1
    dir1
        file
    dir2
        file1    # comment 2
        file2    # comment 3
    file2
    file3
root2
    file1
```
πŸ“ root1            # comment 1
β”œβ”€β”€ πŸ“„ file1
β”œβ”€β”€ πŸ“ dir1
β”‚   └── πŸ“„ file
β”œβ”€β”€ πŸ“ dir2
β”‚   β”œβ”€β”€ πŸ“„ file1    # comment 2
β”‚   └── πŸ“„ file2    # comment 3
β”œβ”€β”€ πŸ“„ file2
└── πŸ“„ file3
πŸ“ root2
└── πŸ“„ file1

You can change the syntax highlight language with the result option:

```tree result="javascript"
root1            // comment 1
    file1
    dir1
        file
    dir2
        file1    // comment 2
        file2    // comment 3
    file2
    file3
root2
    file1
```
πŸ“ root1            // comment 1
β”œβ”€β”€ πŸ“„ file1
β”œβ”€β”€ πŸ“ dir1
β”‚   └── πŸ“„ file
β”œβ”€β”€ πŸ“ dir2
β”‚   β”œβ”€β”€ πŸ“„ file1    // comment 2
β”‚   └── πŸ“„ file2    // comment 3
β”œβ”€β”€ πŸ“„ file2
└── πŸ“„ file3
πŸ“ root2
└── πŸ“„ file1

You can force an entry to be displayed as a directory instead of a regular file by appending a trailing slash to the name:

```tree
root1
    dir1/
    dir2/
    dir3/
```
πŸ“ root1
β”œβ”€β”€ πŸ“ dir1/
β”œβ”€β”€ πŸ“ dir2/
└── πŸ“ dir3/

It is recommended to always append trailing slashes to directory anyway.

Limitation

Spaces in file names are not supported when searching for a trailing slash.