Skip to content

Commit f1fa2dd

Browse files
committed
add readme
1 parent 3e59da3 commit f1fa2dd

1 file changed

Lines changed: 70 additions & 0 deletions

File tree

README.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# struct
2+
3+
i got tired of `tree` showing me 3000 files inside `node_modules` and `venv` every single time, so i made this.
4+
5+
## what it does
6+
7+
it's basically `tree` but it doesn't spam your terminal with garbage you don't care about.
8+
9+
```bash
10+
# instead of this nightmare:
11+
$ tree -L 3
12+
venv/
13+
├── lib/
14+
│ ├── python3.11/
15+
│ │ ├── site-packages/
16+
│ │ │ ├── pip/
17+
│ │ │ │ ├── __init__.py
18+
│ │ │ │ ├── (2000 MORE FILES YOU DON'T CARE ABOUT)
19+
20+
# you get this:
21+
$ struct 3
22+
venv/ (2741 files ignored)
23+
```
24+
25+
way better.
26+
27+
## install
28+
29+
```bash
30+
cargo build --release
31+
sudo cp target/release/struct /usr/local/bin/
32+
```
33+
34+
## usage
35+
36+
```bash
37+
struct 3 # depth 3 (like tree -L 3)
38+
struct -g 2 # only git-tracked files
39+
struct -s 100 3 # skip folders bigger than 100MB
40+
struct -i "*.log" 2 # custom ignores
41+
```
42+
43+
## what gets auto-ignored
44+
45+
the usual suspects:
46+
- `venv`, `node_modules` (shows folder but not the 10000 files inside)
47+
- `__pycache__`, `.git`, `target`
48+
- `.vscode`, `.idea`
49+
- `chrome_profile` and other cache garbage
50+
- basically anything that clutters your output
51+
52+
folders still show up, you just see `venv/ (2741 files ignored)` instead of everything exploding.
53+
54+
## why rust
55+
56+
i wanted to learn rust and this seemed like a good starter project. also it's fast.
57+
58+
## stuff it does
59+
60+
- colors: blue folders, green executables
61+
- file counts next to ignored dirs
62+
- git mode to see only tracked files
63+
- size limits to skip massive folders
64+
- custom ignore patterns
65+
66+
that's it. it's just `tree` but less annoying.
67+
68+
---
69+
70+
if you find bugs or want features, open an issue or whatever

0 commit comments

Comments
 (0)