Skip to content
/ gobang Public

A cross-platform TUI database management tool written in Rust

License

Notifications You must be signed in to change notification settings

TaKO8Ki/gobang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

7b1b5f7 · Jan 25, 2023
Nov 3, 2021
Sep 15, 2021
Sep 12, 2021
Jun 24, 2022
Jul 8, 2021
Oct 9, 2021
Oct 9, 2021
Sep 7, 2021
Jan 25, 2023
Oct 7, 2021

Repository files navigation

gobang

gobang is currently in alpha

A cross-platform TUI database management tool written in Rust

github workflow status crates

gobang

Features

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

TODOs

  • SQL editor
  • Custom key bindings
  • Custom theme settings
  • Support the other databases

What does "gobang" come from?

gobang means a Japanese game played on goban, a go board. The appearance of goban looks like table structure. And I live in Kyoto, Japan. In Kyoto city, streets are laid out on a grid (We call it “goban no me no youna (碁盤の目のような)”). They are why I named this project "gobang".

Installation

With Homebrew (Linux, macOS)

If you’re using Homebrew or Linuxbrew, install the gobang formula:

brew install tako8ki/tap/gobang

On Windows

If you're a Windows Scoop user, then you can install gobang from the official bucket:

scoop install gobang

On NixOS

If you're a Nix user, you can install gobang from nixpkgs:

$ nix-env --install gobang

On Archlinux

If you're an Archlinux user, you can install gobang from AUR:

paru -S gobang-bin

On NetBSD

If you're a NetBSD user, then you can install gobang from pkgsrc:

pkgin install gobang

With Cargo (Linux, macOS, Windows)

If you already have a Rust environment set up, you can use the cargo install command:

cargo install --version 0.1.0-alpha.5 gobang

From binaries (Linux, macOS, Windows)

Usage

$ gobang
$ gobang -h
USAGE:
    gobang [OPTIONS]

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --config-path <config-path>    Set the config file

If you want to add connections, you need to edit your config file. For more information, please see Configuration.

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
H, J, K, L Extend selection by one cell left/down/up/right
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

The location of the file depends on your OS:

  • macOS: $HOME/.config/gobang/config.toml
  • Linux: $HOME/.config/gobang/config.toml
  • Windows: %APPDATA%/gobang/config.toml

The following is a sample config.toml file:

[[conn]]
type = "mysql"
user = "root"
host = "localhost"
port = 3306

[[conn]]
type = "mysql"
user = "root"
host = "localhost"
port = 3306
password = "password"
database = "foo"
name = "mysql Foo DB"

[[conn]]
type = "postgres"
user = "root"
host = "localhost"
port = 5432
database = "bar"
name = "postgres Bar DB"

[[conn]]
type = "sqlite"
path = "/path/to/baz.db"

Contribution

Contributions, issues and pull requests are welcome!