You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Takayuki Maeda 6615a235a7
Filter completion (#88)
* create completion component

* add move_up/down

* fix variable name

* pass config

* create debug component

* remov set

* add reserved words

* remove equal

* allow dead code

* always reset offset

* apply completion candidates correctly

* implement selected_candidate, word

* fix clippy warnings

* complete

* add tests for complete

* fix variable name

* fmt

* add tests for `filterd_candidates`

* add "IN" to reserved words

* remove "IN"

* add test cases

* add debug_assertions

* return complete directly

* add s

* make input field private

* update gobang.gif
3 years ago
.github install cargo-workspaces (#77) 3 years ago
database-tree Enter to expand database tree (#85) 3 years ago
resources Filter completion (#88) 3 years ago
src Filter completion (#88) 3 years ago
.gitignore Refactor components (#12) 3 years ago
Cargo.lock v0.1.0-alpha.3 release (#75) 3 years ago
Cargo.toml v0.1.0-alpha.3 release (#75) 3 years ago
LICENSE Create LICENSE (#64) 3 years ago
README.md add "what does gobang come from" (#94) 3 years ago
sample.toml move table_status under table 3 years ago

README.md

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

Homebrew (Linux/macOS)

If youre using Homebrew or Linuxbrew, install the gobang formula:

$ brew install tako8ki/tap/gobang

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.3 gobang

Using a release binary (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

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!