aboutsummaryrefslogtreecommitdiff
path: root/go-src/ui/ui.go
diff options
context:
space:
mode:
Diffstat (limited to 'go-src/ui/ui.go')
-rw-r--r--go-src/ui/ui.go45
1 files changed, 34 insertions, 11 deletions
diff --git a/go-src/ui/ui.go b/go-src/ui/ui.go
index bf684f0..976a349 100644
--- a/go-src/ui/ui.go
+++ b/go-src/ui/ui.go
@@ -6,6 +6,7 @@ import (
"os"
"strings"
+ "gitlab.com/Syndamia/ctfc/go-src/csi"
"gitlab.com/Syndamia/ctfc/go-src/utils"
)
@@ -34,6 +35,7 @@ const (
textRune = '%'
inputRune = '@'
+ noRune = ' '
)
var scanner = bufio.NewScanner(os.Stdin)
@@ -103,6 +105,10 @@ func TextField(message string) {
fmt.Printf("%c%c %v\n", boxVertRightLine, textRune, message)
}
+func TextFields(messsages ...string) {
+ printMultiple(textRune, messsages...)
+}
+
func InputField(specification string) string {
fmt.Printf("%c%c %v : ", boxBottomLeftCorner, inputRune, specification)
scanner.Scan()
@@ -113,18 +119,12 @@ func InputFieldFilled(specification string, input string) {
fmt.Printf("%c%c %v : %v\n", boxVertRightLine, inputRune, specification, input)
}
+func NumberedField(message string, number int) {
+ fmt.Printf("%c%v %v\n", boxVertRightLine, number, message)
+}
+
func NumberedFields(messages ...string) {
- if len(messages) == 0 {
- return
- }
- var result string
- for i, v := range messages {
- result += fmt.Sprintf("%c%v %v", boxVertRightLine, i+1, v)
- if i < len(messages)-1 {
- result += "\n"
- }
- }
- fmt.Println(result)
+ printMultiple(noRune, messages...)
}
func PageField(current int, max int) {
@@ -134,3 +134,26 @@ func PageField(current int, max int) {
func EmptyLine() {
fmt.Println(string(boxVertLine))
}
+
+func EmptyLines(amount int) {
+ for i := 0; i < amount; i++ {
+ EmptyLine()
+ }
+}
+
+func printMultiple(secondRune rune, messages ...string) {
+ if len(messages) == 0 {
+ return
+ }
+
+ secondString := string(secondRune)
+
+ for i, v := range messages {
+ csi.ClearLine()
+
+ if secondRune == noRune {
+ secondString = fmt.Sprint(i + 1)
+ }
+ fmt.Printf("%c%v %v\n", boxVertRightLine, secondString, v)
+ }
+}