Skip to content

realAscot/treeScanner

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

TreeScanner CLI Verzeichnisscanner

TreeScanner-Logo

TreeScanner ist ein leichtgewichtiges, portables CLI-Tool zur rekursiven Analyse von Verzeichnisstrukturen. Es erzeugt eine klar strukturierte ASCII-Ausgabe und eignet sich hervorragend fΓΌr Dokumentation, Debugging oder Buildsysteme.

πŸ”§ Diese Version ist eine komplette Neuentwicklung in Rust und ersetzt das ursprΓΌngliche Python-Projekt:
➜ treeScannerASCII (Python)

Der original treeScanner in Python ist unter https://github.com/realAscot/treeScannerASCII zu finden. Dieser ist auch als Python-Modul zu verwenden.


Inhalt


Beschreibung

Der treeScanner.exe ist ursprΓΌnglich als ein Tool entwickelt worden mit dem man Verzeichnisstrukturen fΓΌr Dokumentationen erzeugen konnte.
TreeScanner durchsucht Verzeichnisse rekursiv, filtert optional bestimmte Ordner aus und gibt eine strukturierte ASCII-Baumdarstellung mit Icons und optional ausgerichteten Kommentaren aus.
Er eignet sich fΓΌr technische Dokumentationen, Versionskontrollen, Release-Skripte und CI/CD-Prozesse.


Installation

Über .zip Archiv

Installer

Der Installer treeScanner-Setup.exe der jeweils die aktuelle Version auf GitHub enthΓ€llt, bietet Dir an das Programm im Windows-Verzeichnis zu installieren. Dies ist zwar unΓΌblich aber


Struktur

GEPLANTE STRUKTUR (DEV)


πŸ“ treeScanner                           #
β”œβ”€β”€ πŸ“ .cargo                            #
β”‚   └── πŸ“„ config.toml                   #
β”œβ”€β”€ πŸ“ .vscode                           #
β”‚   └── πŸ“„ tasks.json                    #
β”œβ”€β”€ πŸ“ media                             #
β”‚   β”œβ”€β”€ πŸ“„ logo-treescanner.png          #
β”‚   └── πŸ“„ logo-treescanner_512x512.png  #
β”œβ”€β”€ πŸ“ resources                         #
β”‚   β”œβ”€β”€ πŸ“„ icon.ico                      #
β”‚   └── πŸ“„ version.rc                    #
β”œβ”€β”€ πŸ“ src                               #
β”‚   β”œβ”€β”€ πŸ“ app                           #
β”‚   β”‚   β”œβ”€β”€ πŸ“„ mod.rs                    #
β”‚   β”‚   └── πŸ“„ treebuilder.rs            #
β”‚   β”œβ”€β”€ πŸ“ config                        #
β”‚   β”‚   β”œβ”€β”€ πŸ“„ args.rs                   #
β”‚   β”‚   β”œβ”€β”€ πŸ“„ loader.rs                 #
β”‚   β”‚   └── πŸ“„ mod.rs                    #
β”‚   β”œβ”€β”€ πŸ“ utils                         #
β”‚   β”‚   β”œβ”€β”€ πŸ“„ ascii_spinner.rs          #
β”‚   β”‚   β”œβ”€β”€ πŸ“„ logger.rs                 #
β”‚   β”‚   └── πŸ“„ mod.rs                    #
β”‚   β”œβ”€β”€ πŸ“„ lib.rs                        #
β”‚   └── πŸ“„ main.rs                       #
β”œβ”€β”€ πŸ“ tests                             #
β”‚   β”œβ”€β”€ πŸ“„ config_tests.rs               #
β”‚   └── πŸ“„ treebuilder_tests.rs          #
β”œβ”€β”€ πŸ“„ .gitignore                        #
β”œβ”€β”€ πŸ“„ build.rs                          #
β”œβ”€β”€ πŸ“„ Cargo.lock                        #
β”œβ”€β”€ πŸ“„ Cargo.toml                        #
β”œβ”€β”€ πŸ“„ CHANGELOG.md                      #
β”œβ”€β”€ πŸ“„ LICENSE                           #
β”œβ”€β”€ πŸ“„ Makefile                          #
β”œβ”€β”€ πŸ“„ README.md                         #
└── πŸ“„ VERSION                           #


✨ Features

  • πŸ“ ASCII-Baumdarstellung mit Icons (πŸ“, πŸ“„)
  • 🚫 Ignorierliste per CLI oder Konfig-Datei
  • ⏫ Limit fΓΌr Tiefe (--max-depth) und Dateianzahl pro Verzeichnis
  • πŸ“„ Ausgabe in Datei oder Konsole
  • βš™ Konfigurierbar via ~/.treescanner.conf
  • πŸŒ€ Fortschrittsanzeige beim Scannen (Spinner)
  • πŸ’¬ Optionale Kommentarspalte (--align-comments)
  • πŸ§ͺ Getestete Komponenten (unit-tested)
  • πŸ”• Silent-Modus (--quiet)
  • πŸ›  Portable Binary (.exe) ohne externe AbhΓ€ngigkeiten

▢️ Verwendung

# Einfacher Scan (aktuelles Verzeichnis)
./treescanner.exe

# Mit Tiefe 3, ohne speichern
./treescanner.exe --max-depth 3 --viewonly

# Mit Kommentar-Ausrichtung
./treescanner.exe --align-comments

# Ergebnis in Datei mit anderem Pfad speichern
./treescanner.exe --output ./struktur/tree.md

πŸ–Ό Beispielausgabe


πŸ“ ./src/
β”œβ”€β”€ πŸ“„ main.rs               #
β”œβ”€β”€ πŸ“ app/                  #
β”‚   └── πŸ“„ treebuilder.rs    #
└── πŸ“ utils/                #
    β”œβ”€β”€ πŸ“„ ascii_spinner.rs  #
    └── πŸ“„ logger.rs         #


βš™οΈ Konfiguration .treescanner.conf

πŸ” Ort

StandardmÀßig gesucht im Benutzerverzeichnis:

Windows:  C:\Users\<Benutzername>\.treescanner.conf
Linux:    /home/<user>/.treescanner.conf

πŸ“˜ Format

πŸ“ Format (.toml)

max_depth = 3
max_files_per_dir = 100
ignore = [".git", "target", ".vscode"]
output = "tree.txt"
viewonly = false
align_comments = false
  • CLI-Einstellungen ΓΌberschreiben Konfigurationswerte bei Kollision
  • Die Datei wird beim ersten Start automatisch erzeugt, falls sie fehlt
  • Der Pfad ist nicht fest kodiert, sondern dynamisch via dirs::home_dir() ermittelt

Build

Du benΓΆtigst zum selbst kompilieren eine funktionierende Toolchain. Das Makefile steht Dir als Anhalt zur VerfΓΌgung.

  1. npm installieren ->

Lizenz

Dieses Projekt steht unter der MIT-Lizenz.

Eingesetzte Libraries (MIT-kompatibel)

Crate Lizenz
clap MIT/Apache
dirs MIT/Apache
serde MIT/Apache
serde_derive MIT/Apache
toml MIT/Apache
tempfile MIT/Apache (nur fΓΌr Tests)
console MIT

⚠️ Alle eingebundenen Libraries sind MIT- oder Apache-2.0-kompatibel und dürfen ohne EinschrÀnkungen in proprietÀren oder Open-Source-Projekten verwendet werden.

siehe LICENSE


πŸ’¬ Kontakt

Adam Skotarczak
βœ‰ [email protected]
πŸ”— realAscot auf GitHub

About

Leichtgewichtiges CLI-Tool zur Darstellung von Verzeichnisstrukturen als ASCII-Baum.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors