Index: trunk/Makefile
===================================================================
--- trunk/Makefile	(revision 3)
+++ trunk/Makefile	(revision 3)
@@ -0,0 +1,4 @@
+build:
+	go build
+clean:
+	rm -f stcli-go
Index: trunk/README
===================================================================
--- trunk/README	(revision 3)
+++ trunk/README	(revision 3)
@@ -0,0 +1,3 @@
+stcli-go
+========
+Command-line client for SimplyTranslate in Go.
Index: trunk/go.mod
===================================================================
--- trunk/go.mod	(revision 2)
+++ trunk/go.mod	(revision 3)
@@ -2,2 +2,4 @@
 
 go 1.18
+
+require github.com/astaxie/bat v0.0.2
Index: trunk/go.sum
===================================================================
--- trunk/go.sum	(revision 3)
+++ trunk/go.sum	(revision 3)
@@ -0,0 +1,2 @@
+github.com/astaxie/bat v0.0.2 h1:EOl52CfuFEnFqu9/mzex93mh7JWdtEGbGQlpih00GWQ=
+github.com/astaxie/bat v0.0.2/go.mod h1:poAI7wDJd5LpfwfBXsGWYIqmVO66dhBx31zhn0ZXdMI=
Index: trunk/main.go
===================================================================
--- trunk/main.go	(revision 2)
+++ trunk/main.go	(revision 3)
@@ -1,10 +1,11 @@
 // Yet another command-line client for SimplyTranslate
-// All Rites Reversed (ĸ) 3188 Aoi Koizumi, Czar of KST, mutefall, shokara
+// All Rites Reversed (ĸ) 3188 Aoi Koizumi, Czar of KST, mutefall, shokara, Baobab
 
 package main
 
 import (
+	"encoding/json"
+	"flag"
 	"fmt"
-	"flag"
 	"io"
 	"log"
@@ -15,12 +16,15 @@
 var (
 	instanceURL string
-	engine string
-	fromLang string
-	toLang string
-	text string
+	engine      string
+	fromLang    string
+	toLang      string
+	text        string
 )
 
+type TranslateAPI struct {
+	OutText string `json:"translated-text"`
+}
+
 func init() {
-	// Point flags to variables
 	flag.StringVar(&instanceURL, "i", "https://translate.bus-hit.me/api/translate/", "Instance for SimplyTranslate (default: https://translate.bus-hit.me)")
 	flag.StringVar(&engine, "e", "google", "Translation engine (default: google)")
@@ -30,8 +34,6 @@
 }
 func main() {
-	// Start parsing
 	flag.Parse()
 
-	// I assume this works?
 	if len(text) == 0 {
 		log.Printf("Text to translate is required. \n")
@@ -41,25 +43,24 @@
 		os.Exit(1)
 	}
-	
-	// Hand-craft the request URL
-	queryURL := instanceURL + "?engine=" + engine + "&from=" + fromLang + "&to=" + toLang + "&text=" + text
 
-	// Make a request to said URL
-	resp, err1 := http.Get(queryURL)
+	var queryURL = instanceURL + "?engine=" + engine + "&from=" + fromLang + "&to=" + toLang + "&text=" + text
+
+	req, err1 := http.Get(queryURL)
+	var o TranslateAPI
+
 	if err1 != nil {
-		log.Printf("Request could not be processed due to %s\n", err1)
+		log.Printf("Couldn't process request %s\n", err1)
 	}
-	
-	defer resp.Body.Close()
 
-
-	output, err2 := io.ReadAll(resp.Body)
+	defer req.Body.Close()
+	resp, err2 := io.ReadAll(req.Body)
 
 	if err2 != nil {
-		panic(errno)
+		log.Printf("Couldn't process response %s\n", err2)
 	}
 
-	// Well...
-	fmt.Printf("Input: %s \n", text)
-	fmt.Printf("Output: %s \n", output)
+	_ = json.Unmarshal([]byte(resp), &o)
+
+	fmt.Printf("Input: %s (%s)\n",text,fromLang)
+	fmt.Printf("Output: %s (%s)\n",o.OutText,toLang)
 }
Index: trunk/stcli-go.1
===================================================================
--- trunk/stcli-go.1	(revision 3)
+++ trunk/stcli-go.1	(revision 3)
@@ -0,0 +1,28 @@
+.Dd Aftermath 55, 3188
+.Dt STCLI-GO 1
+.Os
+.Sh NAME
+.Nm stcli-go
+.Nd Command-line client for SimplyTranslate in Go
+.Sh SYNOPSIS
+.Nm
+.Fl e Ar engine
+.Fl f Ar from
+.Fl i Ar instance
+.Fl t Ar to
+.Fl T Ar text
+.Sh DESCRIPTION
+Self-explanatory, besides, this was made as
+a rewrite from a shell script that had curl
+and awk for dependencies. It fully serves
+as a drop-in replacement.
+.Sh AUTHORS
+.An Aoi K. Aq Mt koizumi.aoi@kyoko-project.wer.ee
+.Pp
+.An Czar of KST Aq Mt czar@kalli.st
+.Pp
+.An mutefall
+.Pp
+.An Shokara Kou Aq Mt kou@clearnet.fqdn
+.Pp
+.An Baobab Aq Mt baobab@honeypot.im
