Comhad is an S3 TUI client that brings an intuitive Ranger-style interface to managing files between local storage and S3. With features like live previews, background transfers, and non-destructive syncing, it ensures safe and efficient file management. Perfect for users seeking a robust command-line experience.
Comhad is an innovative S3 TUI (Text User Interface) client designed for managing files efficiently between local storage and Amazon S3. The name Comhad, derived from the Irish word for "file", reflects the application's functionality and purpose.
Key Features
- Ranger-style Panes: Navigate effortlessly with local and S3 side-by-side panes along with a dedicated preview pane for object information.
- Real-time Previews: View syntax-highlighted text and inline images via advanced terminal support such as Kitty and iTerm2.
- Background Transfers: Upload, download, and zip operations are handled as cancellable jobs with live progress updates.
- Flexible Clipboard Actions: Seamlessly copy, cut, and paste files across different directories and storage backends. Visual cues indicate where items will be placed.
- Non-destructive Syncing: Employ a git-diff style approach to view changes before syncing. Ensure that no files are deleted during the sync process, adding a layer of safety.
- Fuzzy Deep Filter: Use a simple
/command to search listings and match items from nested directories quickly. - Paired Directory Support: Remember local directories that correspond with their respective S3 buckets for straightforward syncing and downloading.
- Safety First: Every write operation requires confirmation, explicitly displaying the destination with "No" preselected for deletion actions.
Getting Started
Initializing Comhad is straightforward. Simply run:
comhad
Press a to add a new connection and follow the wizard to set up connections without needing a configuration file. Configuration options for themes or keybindings are available for those who prefer customization.
Quick Key Reference
| Key | Action |
|---|---|
hjkl / arrows | Navigate; l/enter opens, h goes up |
space / v | Mark items / visual-mode range select |
d / u | Download / upload marked items |
y x P | Copy / cut / paste, in any direction |
D / r | Delete (no undo) / rename |
s | Open sync dialog |
/ | Activate fuzzy filter with deep matches |
p / i | Toggle preview pane / info pane |
L / 1-4 | Toggle local pane or jump to a specific pane |
t E ? q | Manage theme / access events log / help / quit |
For a comprehensive list of keybindings and features, please refer to the usage documentation.
Configuration
Comhad manages bookmarks in ~/.comhad/bookmarks/*.json, allowing easy management from within the app. An optional configuration file at ~/.comhad/config.toml can define startup defaults, theme colors, and custom keybindings.
For additional details on configuration, visit the configuration reference.
Development
For developers interested in contributing to Comhad, building the application is quick:
cargo build --release
cargo test
cargo clippy --all-targets
Adding new storage services is simplified by implementing the StorageProvider trait, located in src/provider/. Contributions are welcome through issues and pull requests.
No comments yet.
Sign in to be the first to comment.