#tui #database #terminal #cli #rust

app zhobo

A cross-platform TUI database viewer written in Rust. Personally maintained gobang project

3 unstable releases

0.1.0 Jul 15, 2024
0.0.2 Jun 16, 2024
0.0.1 Jun 16, 2024

#1497 in Command line utilities

Download history 116/week @ 2024-07-14 39/week @ 2024-07-28 6/week @ 2024-09-15 30/week @ 2024-09-22 11/week @ 2024-09-29

159 downloads per month

MIT license

340KB
9K SLoC

zhobo

zhobo is the rebaked gobang project.

Features

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

Additional Features

  • custom keymap.
  • support unix domain.
  • sort based on specific columns.

installation

homebrew

cargo

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, and we would like to express our deepest gratitude to the original author, @Tako8ki.

Dependencies

~60MB
~1M SLoC