From bda975fc7b603735b8a8b8b1cd713f0590ba59b1 Mon Sep 17 00:00:00 2001 From: IllusionMan1212 Date: Fri, 21 Jan 2022 05:21:23 +0200 Subject: [PATCH] chore: proper readme --- README.md | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b8d9dce..4b5988e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,60 @@ # gorc -gorc is an IRC client written in golang +gorc is a WIP modern terminal IRC client written in golang. + +## Building +In order to build `gorc`, make sure you have the [Go toolchain](https://go.dev/) installed. + +#### Steps +1. clone the gorc repo +``` +git clone https://git.illusionman1212.tech/illusion/gorc.git +``` +2. clone the bubbles repo +``` +git clone https://github.com/charmbracelet/bubbles.git +``` +3. apply this [patch](https://github.com/charmbracelet/bubbles/pull/87) to your local `bubbles`. +4. tell golang to replace the online `bubbles` dependency with the local version you just cloned by modifying **line 5** in `go.mod` and replacing the path after `=>` with the path of your local `bubbles` repo. +5. run `go build` in the root directory of the project. +This will download the dependencies and create an executable named "gorc". + +### Note: the patch is a temporary measure until it's merged to master in `bubbles` +#### Note Note: prebuilt binaries will be provided once an initial release is done. + +## Screenshots +TODO + +## Keybindings +- Login Screen Bindings + - `Tab` -> Move input focus down. + - `Shift+Tab` -> Move input focus up. + - `Space` -> Toggle TLS checkbox. + - `Enter` -> + --- Move input focus down + --- Toggle TLS checkbox. + --- Confirm connect button. +- Main Screen Bindings + - All Panes: + - `Tab` -> Move between panes forwards. + - `Shift+Tab` -> Move between panes backwards. + - `Left Arrow` -> Move to next channel. + - `Right Arrow` -> Move to previous channel. + - Main Pane: + - `J,K` -> Scrolls viewport up, down one line. + - `Up Arrow, Down Arrow` -> Scrolls viewport up, down one line. + - `D,U` -> Scrolls viewport up, down half a page. + - `F,B` -> Scrolls viewport up, down a full page. + - `G` -> Scrolls viewport to the top. + - `Shift+G` -> Scrolls viewport to the bottom. + - Side Pane: + - Same bindings as the Main Pane. + +## Resources Used +### [IRCDocs](https://modern.ircdocs.horse/about.html), [IRCDocs Github](https://github.com/ircdocs/modern-irc) +### [RFC1459](https://datatracker.ietf.org/doc/html/rfc1459) +### [RFC2812](https://datatracker.ietf.org/doc/html/rfc2812) +### [IRCv3](https://ircv3.net/) + +## License +gorc is licensed under the GPL-3 license. +