36b1da0afa
* create properties component * refactor app.rs * add a test for checking if gobang has overlappted keys * add keys for switching tabs to properties * fix tab * add serialize * update record_table * add properties group * use serialize only in tests * remove alias * remove query field |
||
---|---|---|
.github | ||
database-tree | ||
resources | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md | ||
sample.toml |
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 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)
- Download the latest release binary for your system
- Set the
PATH
environment variable
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 |
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"
[[conn]]
type = "postgres"
user = "root"
host = "localhost"
port = 5432
database = "bar"
[[conn]]
type = "sqlite"
path = "/path/to/baz.db"
Contribution
Contributions, issues and pull requests are welcome!