An open API service indexing awesome lists of open source software.

https://github.com/kyoto7250/zhobo

A cross-platform TUI database viewer that remade gobang
https://github.com/kyoto7250/zhobo

cli database database-explorer database-viewer rust tui

Last synced: 5 months ago
JSON representation

A cross-platform TUI database viewer that remade gobang

Awesome Lists containing this project

README

          

# zhobo

![](https://github.com/kyoto7250/zhobo/workflows/CI/badge.svg)
![](https://github.com/kyoto7250/zhobo/workflows/Release/badge.svg)

`zhobo` is the rebaked [gobang project](https://github.com/TaKO8Ki/gobang).

## Features
- Cross-platform support (macOS, Windows, Linux)
- Multiple Database support (MySQL, PostgreSQL, SQLite)
- Intuitive keyboard only control

## Additional Features
- [x] custom keymap.
- [x] support unix domain.
- [x] sort based on specific columns.

## installation

## homebrew
```bash
# https://github.com/kyoto7250/homebrew-zhobo
brew tap kyoto7250/zhobo
brew install zhobo
```

## cargo
```bash
cargo install zhobo
```

## default keymap

| Key | Description |
| ---- | ---- |
| h, j, k, l | Scroll left/down/up/right |
| Ctrl + u, Ctrl + d | Scroll up/down multiple lines |
| g , G | Scroll to top/bottom |
| ^, $ | Move to head/tail of line |
| s | Sort by selected column |
| H, J, K, L | Extend selection by one cell left/down/up/right |
| V | Extend selection by horizontal line |
| y | Copy a cell value |
| , | Move focus to left/right |
| c | Move focus to connections |
| / | Filter |
| ? | Help |
| 1, 2, 3, 4, 5 | Switch to records/columns/constraints/foreign keys/indexes tab |
| Esc | Hide pop up |

## configuration

### connection

The location of the file depends on your OS:

- macOS: `$HOME/.config/zhobo/config.toml`
- Linux: `$HOME/.config/zhobo/config.toml`
- Windows: `%APPDATA%/zhobo/config.toml`

Sample config.toml file is `examples/config.toml`:

### custom keymap

The location of the file depends on your OS:

- macOS: `$HOME/.config/zhobo/key_bind.ron`
- Linux: `$HOME/.config/zhobo/key_bind.ron`
- Windows: `%APPDATA%/zhobo/key_bind.ron`

Sample config.toml file is `examples/key_bind.ron`:

## contribution

Contributions are welcome.
If you are developing a new feature, we recommend creating an issue first.

## acknowledge

Most of the code in this project was ported from [gobang](https://github.com/TaKO8Ki/gobang), and we would like to express our deepest gratitude to the original author, [@Tako8ki](https://github.com/TaKO8Ki).