docs: Dokumentation mit neuen Features aktualisiert

- README: --dry-run statt --no-changes in Beispielen
- README: --special Option dokumentiert
- README: Smart Excludes dokumentiert (.git, node_modules, etc.)
- README: Kombinierte Beispiele hinzugefügt
- CLAUDE.md: Neue Features in Besonderheiten ergänzt
- CLAUDE.md: CLI-Argumente aktualisiert

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-02-10 10:15:03 +01:00
commit 7b30e57ce8
2 changed files with 41 additions and 9 deletions

View file

@ -73,8 +73,8 @@ Das Projekt ist in Module aufgeteilt:
- **`cli.rs`**: Command-Line Interface
- Definiert `Cli`-Struct mit `clap::Parser`
- Argumente: `paths`, `--quiet`, `--no-changes`, `--force`, `--exclude`, `--verbose`, `--modify-root`
- `ArgGroup` verhindert gleichzeitige Nutzung von `--no-changes` und `--force`
- Argumente: `paths`, `--quiet`, `--dry-run` (alias: `--no-changes`), `--force`, `--exclude`, `--verbose`, `--modify-root`, `--special`
- `ArgGroup` verhindert gleichzeitige Nutzung von `--dry-run` und `--force`
- **`config.rs`**: Konfigurationsmanagement
- `Config`-Struct mit `HashMap<String, String>` für benutzerdefinierte Ersetzungen
@ -116,6 +116,14 @@ Das Projekt ist in Module aufgeteilt:
5. **Root-Directory-Schutz**: Standardmäßig wird das Root-Verzeichnis (depth 0) nicht umbenannt, außer `--modify-root` ist gesetzt.
6. **Smart Default-Excludes**: `.git`, `.svn`, `node_modules`, `.cache`, `__pycache__` werden automatisch ignoriert (ähnlich wie detox).
7. **Doppel-Extensions**: `.tar.gz`, `.tar.bz2`, `.tar.xz` etc. werden korrekt als Einheit behandelt (nicht nur `.gz`).
8. **Versteckte Dateien**: Dateien mit führendem Punkt (`.gitignore`) bleiben unverändert, der Punkt wird korrekt behandelt.
9. **Special Files**: Symlinks und Special Files werden standardmäßig übersprungen, außer `--special` ist gesetzt.
## Verwendete Dependencies
- `clap` mit derive-Feature für CLI-Parsing

View file

@ -66,8 +66,9 @@ cp .NameToUnix.conf ~/.config/NameToUnix/config.toml # Copy config file to
# Basic usage
ntu /path/to/files
# Only preview the changes without actual renaming
ntu -n /path/to/files
# Dry-run: only preview the changes without actual renaming
ntu --dry-run /path/to/files
ntu -n /path/to/files # Short form
# Process multiple paths
ntu /path1 /path2 /path3
@ -75,21 +76,32 @@ ntu /path1 /path2 /path3
# Exclude specific files
ntu -e "*.tmp" -e "backup_*" /path/to/files
# Process symlinks and special files (normally skipped)
ntu --special /path/to/files
# Increase verbosity
ntu -v /path/to/files
# Also rename the root directory
ntu --modify-root /path/to/files
# Combine options
ntu --dry-run -v --special /path/to/files
```
**Note:** The following directories/files are automatically excluded:
`.git`, `.svn`, `node_modules`, `.cache`, `__pycache__`
## Verwendung
```bash
# Grundlegende Verwendung
ntu /pfad/zu/dateien
# Nur Vorschau der Änderungen ohne tatsächliche Umbenennung
ntu -n /pfad/zu/dateien
# Dry-run: Nur Vorschau der Änderungen ohne tatsächliche Umbenennung
ntu --dry-run /pfad/zu/dateien
ntu -n /pfad/zu/dateien # Kurzform
# Mehrere Pfade verarbeiten
ntu /pfad1 /pfad2 /pfad3
@ -97,13 +109,23 @@ ntu /pfad1 /pfad2 /pfad3
# Bestimmte Dateien ausschließen
ntu -e "*.tmp" -e "backup_*" /pfad/zu/dateien
# Symlinks und Special Files verarbeiten (normalerweise übersprungen)
ntu --special /pfad/zu/dateien
# Verbosity erhöhen
ntu -v /pfad/zu/dateien
# Auch das Wurzelverzeichnis umbenennen
ntu --modify-root /pfad/zu/dateien
# Optionen kombinieren
ntu --dry-run -v --special /pfad/zu/dateien
```
**Hinweis:** Die folgenden Verzeichnisse/Dateien werden automatisch ausgeschlossen:
`.git`, `.svn`, `node_modules`, `.cache`, `__pycache__`
## Configuration File / Konfiguration
Erstelle eine Datei `.NameToUnix.conf` im persönlichen Arbeitsverzeichnis z. B. mit folgendem Inhalt
@ -189,11 +211,12 @@ Arguments:
Options:
-q, --quiet Ausgaben unterdrücken (keine Umbenennungsinfos auf stdout)
-n, --no-changes Nur anzeigen, aber keine realen Änderungen vornehmen
-n, --dry-run Nur anzeigen, aber keine realen Änderungen vornehmen (dry-run)
-f, --force Existierende Dateien überschreiben
-e, --exclude <PATTERN> Zu ignorierende Muster (-e "*.py", mehrere können angegeben werden)
-v, --verbose Ausführliche Debug-Informationen
--modify-root Erlaubt, auch das Wurzelverzeichnis anzupassen
--special Auch symbolische Links und Special Files verarbeiten
-h, --help Print help
-V, --version Print version
@ -211,11 +234,12 @@ Arguments:
Options:
-q, --quiet Suppress output (no renaming info on stdout)
-n, --no-changes Only display, but do not make any real changes
-n, --dry-run Only display, but do not make any real changes (dry-run)
-f, --force Overwrite existing files
-e, --exclude <PATTERN> Patterns to be ignored (-e “*.py”, several can be specified)
-e, --exclude <PATTERN> Patterns to be ignored (-e "*.py", several can be specified)
-v, --verbose Detailed debug information
--modify-root Allows you to customize the root directory as well
--special Also process symbolic links and special files
-h, --help Print help
-V, --version Print version