Developer Blog • GitHub Repo • Pub.dev
file_tree
Visualize the file tree of a directory 🌳
Installation
dart pub global activate file_tree
Usage
Output the file and directory tree of the current directory:
tree grow
Output:
├── LICENSE
├── test/
│ └── file_tree_test.dart
├── bin/
│ └── file_tree.dart
├── CHANGELOG.md
├── pubspec.lock
├── README.md
Output the file and directory tree using ASCII characters:
tree grow -a
Output:
+-- LICENSE
+-- test/
| `-- file_tree_test.dart
+-- bin/
| `-- file_tree.dart
+-- CHANGELOG.md
+-- pubspec.lock
+-- README.md
Output the file and directory tree and use emojis to indicate file type:
tree grow -e
Output:
├── 📄 LICENSE
├── 📁 test/
│ └── 📄 file_tree_test.dart
├── 📁 bin/
│ └── 📄 file_tree.dart
├── 📄 CHANGELOG.md
├── 📄 pubspec.lock
├── 📄 README.md
Limit the depth of the file tree (e.g., to 2 levels):
tree grow -d 2
Output:
├── LICENSE
├── test/
│ └── file_tree_test.dart
├── bin/
│ └── file_tree.dart
├── CHANGELOG.md
├── pubspec.lock
├── README.md
Include all files, ignoring .gitignore:
tree grow -A
Help
(tree grow -h
)
Print out a file tree for the current directory.
Usage: tree grow [arguments]
-a, --ascii Use only ASCII characters to draw the tree.
-e, --emojis Add emojis to the tree to indicate file types.
-i, --include_hidden Include hidden files in the tree
-d, --depth Set the maximum depth of the tree (default: -1, no limit)
-A, --all Include all files, ignoring .gitignore
Options
-a, --ascii
: Use ASCII characters for the tree structure instead of Unicode characters.-e, --emojis
: Add emojis to indicate file types (📁 for directories, 📄 for files).-i, --include_hidden
: Include hidden files and directories in the tree.-d, --depth
: Set the maximum depth for the tree. Use -1 for unlimited depth (default).-A, --all
: Include all files, ignoring .gitignore rules.
Examples
Show tree with emojis, including hidden files, limited to 3 levels deep:
tree grow -e -i -d 3
Show ASCII tree of the first two directory levels:
tree grow -a -d 2
Show complete tree, including files that would normally be ignored by .gitignore:
tree grow -A
Show tree with emojis, including all files (ignoring .gitignore), and hidden files:
tree grow -e -A -i
Libraries
- commands/commands
- commands/grow
- file_tree
- View the file tree of a directory