4 releases
0.2.2 | Dec 3, 2023 |
---|---|
0.2.1 | Nov 25, 2023 |
0.2.0 | Nov 25, 2023 |
0.1.0 | Nov 25, 2023 |
#1016 in Command line utilities
1MB
274 lines
Dirt(r)ee
A CLI tool for printing the structure of a given directory in a tree.
Overview
Dirt(r)ee is a command-line interface (CLI) tool built in Rust that generates a tree representation of a directory
structure. It's designed to provide a clear view of file and directory arrangements, supporting various features like
including hidden files, respecting .gitignore
rules, customizable spacing, and output customization.
Features
- Tree Generation: Visually represents the directory structure in a tree format.
- Hidden Files: Option to include hidden files in the tree.
- Git Ignore Support: Respects
.gitignore
files to exclude certain files and directories. - Custom Spacing: Allows customizing the spacing in the tree structure for better readability.
- Clipboard Support: Provides an option to copy the generated tree to the clipboard.
- Output Customization: Adds a prefix to each line and outputs the tree to a specified file.
- File Output: Offers the ability to write the tree structure to a file.
- Prefix Customization: Allows adding a custom prefix to each line of the output.
- Parallel Processing: Leverages Rust's
rayon
crate for efficient directory traversal.
Installation
You can compile dirt(r)ee on your own architecture using cargo install
, or with Homebrew on an M1 Macbook (Intel based
Macs might work - I haven't tried. Let me know if you do!)
More installation options coming soon!
Homebrew (MacOS - M1)
brew tap calthejuggler/dirtee
brew install dirtee
Cargo Install
To install Dirt-r-ee, you need Rust and Cargo installed on your system. If you don't have them installed, you can follow the instructions here to install them.
Once you have Rust and Cargo installed, you can install Dirt-r-ee using Cargo:
cargo install dirt-r-ee
Usage
Run Dirt-r-ee from the command line. The basic command structure is as follows:
dirtee [OPTIONS] [PATH] # PATH defaults to the current directory
Options
-d
,--dir <DIRECTORY>
: Specify the directory to print. Defaults to the current directory.-s
,--spacer <SPACER>
: Custom spacer for indentation. Default is four spaces.-i
,--include-hidden
: Include hidden files and directories in the output.-g
,--git-ignored
: Include files and directories specified in.gitignore
.-c
,--copy
: Copy the output to the clipboard instead of printing it.-p
,--prefix <PREFIX>
: Add a prefix to each line of the output. Default is "- ".-o
,--out-file <FILE>
: Write the output to the specified file.-V
,--version
: Show version information.-h
,--help
: Show help information.
Examples
- Display the current directory tree:
dirtee
- Display a specific directory:
dirtee -d /path/to/dir
- Include hidden files:
dirtee -i
- Copy the output to clipboard:
dirtee -c
- Use a custom prefix and write to a file:
dirtee -p "-> " -o tree.txt
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
License
Distributed under the MIT License. See LICENSE
for more information.
Dependencies
~2–13MB
~103K SLoC