(Fix): Fix incorrect package name and some improvements with new additions
This commit is contained in:
107
README.md
107
README.md
@@ -1,6 +1,6 @@
|
|||||||
# 🗜️ Zipprine - TUI zipping tool
|
# 🗜️ Zipprine - TUI zipping tool
|
||||||
|
|
||||||
A simple and clean TUI application for managing archives/
|
Zipprine is a modern TUI application for managing archives with support for multiple formats including ZIP, TAR, TAR.GZ, and GZIP.
|
||||||
|
|
||||||
## ✨ Features
|
## ✨ Features
|
||||||
|
|
||||||
@@ -25,53 +25,88 @@ A simple and clean TUI application for managing archives/
|
|||||||
- **Checksum verification**: SHA256 integrity checks
|
- **Checksum verification**: SHA256 integrity checks
|
||||||
- **Format detection**: Magic byte analysis
|
- **Format detection**: Magic byte analysis
|
||||||
|
|
||||||
|
### 📚 Batch Operations
|
||||||
|
|
||||||
|
- **Batch compression**: Compress multiple files/folders at once
|
||||||
|
- **Batch extraction**: Extract multiple archives simultaneously
|
||||||
|
- **Parallel processing**: Speed up operations with concurrent workers
|
||||||
|
- **Progress tracking**: Real-time feedback for each operation
|
||||||
|
|
||||||
|
### ⚖️ Archive Comparison
|
||||||
|
|
||||||
|
- **Compare two archives**: Find differences between archives
|
||||||
|
- **Detailed reports**: See files unique to each archive
|
||||||
|
- **File differences**: Identify files that differ in size or modification time
|
||||||
|
- **Cross-format support**: Compare different archive formats
|
||||||
|
|
||||||
|
### 🔄 Archive Conversion
|
||||||
|
|
||||||
|
- **Format conversion**: Convert between ZIP, TAR, TAR.GZ formats
|
||||||
|
- **Preserve contents**: Maintains file structure and permissions
|
||||||
|
- **Automatic extraction**: Seamless conversion process
|
||||||
|
|
||||||
## 🚀 Installation
|
## 🚀 Installation
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Clone the repository
|
# Clone the repository
|
||||||
git clone https://github.com/bereck-work/ziporine.git
|
git clone https://gitlab.com/bereckobrian/zipprine.git
|
||||||
cd zipprine
|
cd zipprine
|
||||||
|
|
||||||
# Install dependencies
|
# Build for your platform
|
||||||
go mod download
|
make build
|
||||||
|
|
||||||
# Build
|
# Run it
|
||||||
go build -o zipprine ./cmd/ziprine
|
./build/zipprine
|
||||||
|
|
||||||
# Run
|
|
||||||
./ziprine
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## 📖 Usage
|
## 📖 Usage
|
||||||
|
|
||||||
Simply run `ziprine` and follow the interactive prompts!
|
Just run `zipprine` and follow the interactive menu:
|
||||||
|
|
||||||
### Compress Files
|
**Compress** - Choose files/folders, pick a format (ZIP, TAR, TAR.GZ, GZIP), and set your preferences
|
||||||
|
|
||||||
|
**Extract** - Point to an archive and choose where to extract (format is auto-detected)
|
||||||
|
|
||||||
|
**Analyze** - View detailed stats about any archive without extracting it
|
||||||
|
|
||||||
|
**Batch Operations** - Compress or extract multiple files at once with optional parallel processing
|
||||||
|
|
||||||
|
**Compare** - Find differences between two archives
|
||||||
|
|
||||||
|
**Convert** - Change archive formats while preserving structure
|
||||||
|
|
||||||
|
## 🔨 Building
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./ziprine
|
# Build for your platform
|
||||||
# Select: Compress files/folders
|
make build
|
||||||
# Enter source path: /path/to/folder
|
|
||||||
# Choose format: ZIP, TAR.GZ, TAR, or GZIP
|
# Build for all platforms (Linux, macOS, Windows)
|
||||||
# Set compression level and filters
|
make build-all
|
||||||
|
|
||||||
|
# Install to $GOPATH/bin
|
||||||
|
make install
|
||||||
|
|
||||||
|
# Or use Docker
|
||||||
|
docker build -t zipprine .
|
||||||
```
|
```
|
||||||
|
|
||||||
### Extract Archives
|
## 🧪 Testing
|
||||||
|
|
||||||
|
We have comprehensive test coverage:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
./ziprine
|
# Run tests
|
||||||
# Select: Extract archive
|
make test
|
||||||
# Archive type is auto-detected!
|
|
||||||
# Choose destination and options
|
# With coverage report
|
||||||
|
make test-coverage
|
||||||
|
|
||||||
|
# Run benchmarks
|
||||||
|
make bench
|
||||||
```
|
```
|
||||||
|
|
||||||
### Analyze Archives
|
**Coverage:** 77.9% for archiver, 96.6% for utilities
|
||||||
|
|
||||||
```bash
|
|
||||||
./ziprine
|
|
||||||
# Select: Analyze archive
|
|
||||||
# View detailed statistics and file listing
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🎨 Pattern Examples
|
## 🎨 Pattern Examples
|
||||||
|
|
||||||
@@ -88,18 +123,6 @@ Simply run `ziprine` and follow the interactive prompts!
|
|||||||
- `src/*,docs/*` - Only src and docs folders
|
- `src/*,docs/*` - Only src and docs folders
|
||||||
- `*.md,*.txt` - Only markdown and text files
|
- `*.md,*.txt` - Only markdown and text files
|
||||||
|
|
||||||
## 🏗️ Project Structure
|
|
||||||
|
|
||||||
```
|
|
||||||
ziprine/
|
|
||||||
├── cmd/ziprine/ # Main application entry
|
|
||||||
├── internal/
|
|
||||||
│ ├── archiver/ # Archive operations
|
|
||||||
│ ├── ui/ # TUI components
|
|
||||||
│ └── models/ # Data structures
|
|
||||||
└── pkg/fileutil/ # Utility functions
|
|
||||||
```
|
|
||||||
|
|
||||||
## 🛠️ Technologies
|
## 🛠️ Technologies
|
||||||
|
|
||||||
- **[Charm Bracelet Huh](https://github.com/charmbracelet/huh)** - Beautiful TUI forms
|
- **[Charm Bracelet Huh](https://github.com/charmbracelet/huh)** - Beautiful TUI forms
|
||||||
@@ -109,7 +132,3 @@ ziprine/
|
|||||||
## 📝 License
|
## 📝 License
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
## Things to do
|
|
||||||
|
|
||||||
- [ ] Add unit tests
|
|
||||||
|
|||||||
Reference in New Issue
Block a user