PitchHut logo
A feature-rich S3 TUI client with real-time previews and safe operations.
Pitch

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.

Description

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

KeyAction
hjkl / arrowsNavigate; l/enter opens, h goes up
space / vMark items / visual-mode range select
d / uDownload / upload marked items
y x PCopy / cut / paste, in any direction
D / rDelete (no undo) / rename
sOpen sync dialog
/Activate fuzzy filter with deep matches
p / iToggle preview pane / info pane
L / 1-4Toggle local pane or jump to a specific pane
t E ? qManage 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.

0 comments

No comments yet.

Sign in to be the first to comment.