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:
jamulix 2026-02-10 10:15:03 +01:00
commit 34f7b26963
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 - **`cli.rs`**: Command-Line Interface
- Definiert `Cli`-Struct mit `clap::Parser` - Definiert `Cli`-Struct mit `clap::Parser`
- Argumente: `paths`, `--quiet`, `--no-changes`, `--force`, `--exclude`, `--verbose`, `--modify-root` - Argumente: `paths`, `--quiet`, `--dry-run` (alias: `--no-changes`), `--force`, `--exclude`, `--verbose`, `--modify-root`, `--special`
- `ArgGroup` verhindert gleichzeitige Nutzung von `--no-changes` und `--force` - `ArgGroup` verhindert gleichzeitige Nutzung von `--dry-run` und `--force`
- **`config.rs`**: Konfigurationsmanagement - **`config.rs`**: Konfigurationsmanagement
- `Config`-Struct mit `HashMap<String, String>` für benutzerdefinierte Ersetzungen - `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. 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 ## Verwendete Dependencies
- `clap` mit derive-Feature für CLI-Parsing - `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 # Basic usage
ntu /path/to/files ntu /path/to/files
# Only preview the changes without actual renaming # Dry-run: only preview the changes without actual renaming
ntu -n /path/to/files ntu --dry-run /path/to/files
ntu -n /path/to/files # Short form
# Process multiple paths # Process multiple paths
ntu /path1 /path2 /path3 ntu /path1 /path2 /path3
@ -75,21 +76,32 @@ ntu /path1 /path2 /path3
# Exclude specific files # Exclude specific files
ntu -e "*.tmp" -e "backup_*" /path/to/files ntu -e "*.tmp" -e "backup_*" /path/to/files
# Process symlinks and special files (normally skipped)
ntu --special /path/to/files
# Increase verbosity # Increase verbosity
ntu -v /path/to/files ntu -v /path/to/files
# Also rename the root directory # Also rename the root directory
ntu --modify-root /path/to/files 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 ## Verwendung
```bash ```bash
# Grundlegende Verwendung # Grundlegende Verwendung
ntu /pfad/zu/dateien ntu /pfad/zu/dateien
# Nur Vorschau der Änderungen ohne tatsächliche Umbenennung # Dry-run: Nur Vorschau der Änderungen ohne tatsächliche Umbenennung
ntu -n /pfad/zu/dateien ntu --dry-run /pfad/zu/dateien
ntu -n /pfad/zu/dateien # Kurzform
# Mehrere Pfade verarbeiten # Mehrere Pfade verarbeiten
ntu /pfad1 /pfad2 /pfad3 ntu /pfad1 /pfad2 /pfad3
@ -97,13 +109,23 @@ ntu /pfad1 /pfad2 /pfad3
# Bestimmte Dateien ausschließen # Bestimmte Dateien ausschließen
ntu -e "*.tmp" -e "backup_*" /pfad/zu/dateien ntu -e "*.tmp" -e "backup_*" /pfad/zu/dateien
# Symlinks und Special Files verarbeiten (normalerweise übersprungen)
ntu --special /pfad/zu/dateien
# Verbosity erhöhen # Verbosity erhöhen
ntu -v /pfad/zu/dateien ntu -v /pfad/zu/dateien
# Auch das Wurzelverzeichnis umbenennen # Auch das Wurzelverzeichnis umbenennen
ntu --modify-root /pfad/zu/dateien 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 ## Configuration File / Konfiguration
Erstelle eine Datei `.NameToUnix.conf` im persönlichen Arbeitsverzeichnis z. B. mit folgendem Inhalt Erstelle eine Datei `.NameToUnix.conf` im persönlichen Arbeitsverzeichnis z. B. mit folgendem Inhalt
@ -189,11 +211,12 @@ Arguments:
Options: Options:
-q, --quiet Ausgaben unterdrücken (keine Umbenennungsinfos auf stdout) -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 -f, --force Existierende Dateien überschreiben
-e, --exclude <PATTERN> Zu ignorierende Muster (-e "*.py", mehrere können angegeben werden) -e, --exclude <PATTERN> Zu ignorierende Muster (-e "*.py", mehrere können angegeben werden)
-v, --verbose Ausführliche Debug-Informationen -v, --verbose Ausführliche Debug-Informationen
--modify-root Erlaubt, auch das Wurzelverzeichnis anzupassen --modify-root Erlaubt, auch das Wurzelverzeichnis anzupassen
--special Auch symbolische Links und Special Files verarbeiten
-h, --help Print help -h, --help Print help
-V, --version Print version -V, --version Print version
@ -211,11 +234,12 @@ Arguments:
Options: Options:
-q, --quiet Suppress output (no renaming info on stdout) -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 -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 -v, --verbose Detailed debug information
--modify-root Allows you to customize the root directory as well --modify-root Allows you to customize the root directory as well
--special Also process symbolic links and special files
-h, --help Print help -h, --help Print help
-V, --version Print version -V, --version Print version