day 14 and 15

This commit is contained in:
RussellChamp committed 2021-12-15 16:52:42 -05:00
1 parent 6e22bbe567
commit 4737afa383
12 files changed
+678 -3

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
package args
import "strings"
func Parse(args []string) map[string]string {
argMap := make(map[string]string)
for _, arg := range args {
pair := strings.Split(arg, "=")
if len(pair) == 2 {
argMap[pair[0]] = pair[1]
}
}
return argMap
}
+131
View File
@@ -0,0 +1,131 @@
package color
import "runtime"
var Reset = "\033[0m"
var Red = "\033[31m"
var Green = "\033[32m"
var Yellow = "\033[33m"
var Blue = "\033[34m"
var Purple = "\033[35m"
var Cyan = "\033[36m"
var LightGray = "\033[37m"
var DarkGray = "\033[30m"
var White = "\033[97m"
var BlackBold = "\033[1;30m"
var RedBold = "\033[1;31m"
var GreenBold = "\033[1;32m"
var YellowBold = "\033[1;33m"
var BlueBold = "\033[1;34m"
var PurpleBold = "\033[1;35m"
var CyanBold = "\033[1;36m"
var WhiteBold = "\033[1;37m"
var BlackUnderline = "\033[4;30m"
var RedUnderline = "\033[4;31m"
var GreenUnderline = "\033[4;32m"
var YellowUnderline = "\033[4;33m"
var BlueUnderline = "\033[4;34m"
var PurpleUnderline = "\033[4;35m"
var CyanUnderline = "\033[4;36m"
var WhiteUnderline = "\033[4;37m"
var BlackBackground = "\033[40m"
var RedBackground = "\033[41m"
var GreenBackground = "\033[42m"
var YellowBackground = "\033[43m"
var BlueBackground = "\033[44m"
var PurpleBackground = "\033[45m"
var CyanBackground = "\033[46m"
var WhiteBackground = "\033[47m"
var BlackHigh = "\033[0;90m"
var RedHigh = "\033[0;91m"
var GreenHigh = "\033[0;92m"
var YellowHigh = "\033[0;93m"
var BlueHigh = "\033[0;94m"
var PurpleHigh = "\033[0;95m"
var CyanHigh = "\033[0;96m"
var WhiteHigh = "\033[0;97m"
var BlackBoldHigh = "\033[1;90m"
var RedBoldHigh = "\033[1;91m"
var GreenBoldHigh = "\033[1;92m"
var YellowBoldHigh = "\033[1;93m"
var BlueBoldHigh = "\033[1;94m"
var PurpleBoldHigh = "\033[1;95m"
var CyanBoldHigh = "\033[1;96m"
var WhiteBoldHigh = "\033[1;97m"
var BlackHighBack = "\033[0;100m"
var RedHighBack = "\033[0;101m"
var GreenHighBack = "\033[0;102m"
var YellowHighBack = "\033[0;103m"
var BlueHighBack = "\033[0;104m"
var PurpleHighBack = "\033[0;105m"
var CyanHighBack = "\033[0;106m"
var WhiteHighBack = "\033[0;107m"
func init() {
if runtime.GOOS == "windows" {
Reset = ""
Red = ""
Green = ""
Yellow = ""
Blue = ""
Purple = ""
Cyan = ""
LightGray = ""
DarkGray = ""
White = ""
BlackBold = ""
RedBold = ""
GreenBold = ""
YellowBold = ""
BlueBold = ""
PurpleBold = ""
CyanBold = ""
WhiteBold = ""
BlackUnderline = ""
RedUnderline = ""
GreenUnderline = ""
YellowUnderline = ""
BlueUnderline = ""
PurpleUnderline = ""
CyanUnderline = ""
WhiteUnderline = ""
BlackBackground = ""
RedBackground = ""
GreenBackground = ""
YellowBackground = ""
BlueBackground = ""
PurpleBackground = ""
CyanBackground = ""
WhiteBackground = ""
BlackHigh = ""
RedHigh = ""
GreenHigh = ""
YellowHigh = ""
BlueHigh = ""
PurpleHigh = ""
CyanHigh = ""
WhiteHigh = ""
BlackBoldHigh = ""
RedBoldHigh = ""
GreenBoldHigh = ""
YellowBoldHigh = ""
BlueBoldHigh = ""
PurpleBoldHigh = ""
CyanBoldHigh = ""
WhiteBoldHigh = ""
BlackHighBack = ""
RedHighBack = ""
GreenHighBack = ""
YellowHighBack = ""
BlueHighBack = ""
PurpleHighBack = ""
CyanHighBack = ""
WhiteHighBack = ""
}
}
+13
View File
@@ -9,7 +9,20 @@ const (
DIAGNOSTIC = 3
)
const (
CONSOLE = 1
FILE = 2
)
var LOG_LEVEL = NORMAL
var LOG_TIMESTAMP = false
var LOG_OUTPUT = CONSOLE
func SetLogLevel(level int) {
if level >= NONE && level <= DIAGNOSTIC {
LOG_LEVEL = level
}
}
func Print(minLevel int, a ...interface{}) (int, error) {
if LOG_LEVEL >= minLevel {
+11
View File
@@ -0,0 +1,11 @@
package numbers
func Min(i1 int, a ...int) int {
min := i1
for _, i := range a {
if i < min {
min = i
}
}
return min
}
+11 -1
View File
@@ -1,6 +1,8 @@
package timer
import (
"AoC2021/utils/color"
"AoC2021/utils/log"
"fmt"
"time"
)
@@ -13,6 +15,14 @@ func Start() {
func Tick() {
now := time.Now()
fmt.Printf("[Time taken: %s]\n", now.Sub(lastTime).String())
fmt.Printf(color.Yellow+"[Time taken: %s]\n"+color.Reset, now.Sub(lastTime).String())
lastTime = now
}
func TickAtLevel(logLevel int) {
if log.LOG_LEVEL >= logLevel {
now := time.Now()
log.Printf(logLevel, color.Yellow+"[Time taken: %s]\n"+color.Reset, now.Sub(lastTime).String())
lastTime = now
}
}