diff --git a/content/handler.blog.go b/content/handler.blog.go index 37ea09b..094511f 100644 --- a/content/handler.blog.go +++ b/content/handler.blog.go @@ -17,17 +17,17 @@ func NewBlogHandler(token string) *BlogHandler { } func (h *BlogHandler) Handle(s *engine.Session) { - renderWikiList(s, h.repo, "blog", "Blog Posts", engine.BL) + renderWikiList(s, h.repo, "blog", "Blog Posts", engine.COLOR_BLUE) } // renderWikiList is a helper used by wiki-based handlers func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color string) { s.Printer.BoxHeader(title, color) - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, s.Lang["WikiLoading"], engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, s.Lang["WikiLoading"], engine.COLOR_RESET)) pages, err := repo.fetchList(tag) if err != nil { - s.Printer.Send(fmt.Sprintf("\r\n%s%s: %v%s\r\n", engine.RD, s.Lang["WikiConnError"], err, engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s: %v%s\r\n", engine.COLOR_RED, s.Lang["WikiConnError"], err, engine.COLOR_RESET)) s.Printer.Pause(s.Lang) return } @@ -35,7 +35,7 @@ func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color s s.Printer.Send("\r\033[A\033[2K") if len(pages) == 0 { - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, fmt.Sprintf(s.Lang["WikiNoResults"], tag), engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, fmt.Sprintf(s.Lang["WikiNoResults"], tag), engine.COLOR_RESET)) s.Printer.Pause(s.Lang) return } @@ -61,15 +61,15 @@ func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color s if len(desc) > 60 { desc = desc[:60] } - s.Printer.Send(fmt.Sprintf(" %s%2d%s %s%s%s\r\n", color, i+1, engine.R, engine.WH, titleP, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%2d%s %s%s%s\r\n", color, i+1, engine.COLOR_RESET, engine.COLOR_WHITE, titleP, engine.COLOR_RESET)) if desc != "" { - s.Printer.Send(fmt.Sprintf(" %s%s %s%s%s\r\n", engine.GY, date, engine.DIM, desc, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s %s%s%s\r\n", engine.COLOR_GRAY, date, engine.COLOR_DIM, desc, engine.COLOR_RESET)) } else { - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, date, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, date, engine.COLOR_RESET)) } } - s.Printer.Send(fmt.Sprintf("\r\n%s%s%s ", engine.GY, s.Lang["WikiEnterNum"], engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s%s ", engine.COLOR_GRAY, s.Lang["WikiEnterNum"], engine.COLOR_RESET)) choice, _ := s.Printer.ReadLine() choice = strings.TrimSpace(choice) idx, err := strconv.Atoi(choice) @@ -78,10 +78,10 @@ func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color s } page := pages[idx-1] - s.Printer.Send(fmt.Sprintf("\r\n%s%s%s", engine.GY, s.Lang["WikiFetchContent"], engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s%s", engine.COLOR_GRAY, s.Lang["WikiFetchContent"], engine.COLOR_RESET)) pageContent, err := repo.fetchContent(page.ID) if err != nil { - s.Printer.Send(fmt.Sprintf("\r\n%sHiba: %v%s\r\n", engine.RD, err, engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%sHiba: %v%s\r\n", engine.COLOR_RED, err, engine.COLOR_RESET)) s.Printer.Pause(s.Lang) return } @@ -90,10 +90,10 @@ func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color s s.Printer.Send("\r\n") s.Printer.HR("═", color) s.Printer.Send("\r\n") - s.Printer.Send(fmt.Sprintf(" %s%s%s%s\r\n", engine.WH, engine.B, page.Title, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s%s\r\n", engine.COLOR_WHITE, engine.COLOR_BOLD, page.Title, engine.COLOR_RESET)) url := fmt.Sprintf("%s/%s/%s", WikiJSBaseURL, page.Locale, page.Path) - s.Printer.Send(fmt.Sprintf(" %s%s %s%s%s\r\n", engine.GY, s.Printer.FmtDate(page.CreatedAt), engine.DIM, url, engine.R)) - s.Printer.HR("─", engine.GY) + s.Printer.Send(fmt.Sprintf(" %s%s %s%s%s\r\n", engine.COLOR_GRAY, s.Printer.FmtDate(page.CreatedAt), engine.COLOR_DIM, url, engine.COLOR_RESET)) + s.Printer.HR("─", engine.COLOR_GRAY) s.Printer.Send("\r\n\r\n") body := s.Printer.Wrapped(pageContent, 2, 5000) @@ -102,7 +102,7 @@ func renderWikiList(s *engine.Session, repo *wikiRepository, tag, title, color s } s.Printer.Send("\r\n") - s.Printer.HR("─", engine.GY) + s.Printer.HR("─", engine.COLOR_GRAY) s.Printer.Send("\r\n") s.Printer.Pause(s.Lang) } diff --git a/content/handler.catalog.go b/content/handler.catalog.go index 8d64498..49c8043 100644 --- a/content/handler.catalog.go +++ b/content/handler.catalog.go @@ -16,12 +16,12 @@ func NewCatalogHandler() *CatalogHandler { } func (h *CatalogHandler) Handle(s *engine.Session) { - s.Printer.BoxHeader(s.Lang["CatTitle"], engine.YL) - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, s.Lang["WikiLoading"], engine.R)) + s.Printer.BoxHeader(s.Lang["CatTitle"], engine.COLOR_YELLOW) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, s.Lang["WikiLoading"], engine.COLOR_RESET)) softwares, err := h.repo.fetchGames() if err != nil { - s.Printer.Send(fmt.Sprintf("\r\n%s%s: %v%s\r\n", engine.RD, s.Lang["WikiConnError"], err, engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s: %v%s\r\n", engine.COLOR_RED, s.Lang["WikiConnError"], err, engine.COLOR_RESET)) s.Printer.Pause(s.Lang) return } @@ -29,7 +29,7 @@ func (h *CatalogHandler) Handle(s *engine.Session) { s.Printer.Send("\r\033[A\033[2K") if len(softwares) == 0 { - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, s.Lang["CatNoGames"], engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, s.Lang["CatNoGames"], engine.COLOR_RESET)) s.Printer.Pause(s.Lang) return } @@ -40,32 +40,32 @@ func (h *CatalogHandler) Handle(s *engine.Session) { sw := entry.Software lr := entry.LatestRelease - s.Printer.Send(fmt.Sprintf("\r\n %s%s%s\r\n", engine.YL, strings.Repeat("─", engine.W-4), engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n %s%s%s\r\n", engine.COLOR_YELLOW, strings.Repeat("─", engine.W-4), engine.COLOR_RESET)) s.Printer.Send(fmt.Sprintf(" %s%2d.%s %s%s%s%s %s[%s] by %s%s\r\n", - engine.YL, i+1, engine.R, - engine.WH, engine.B, sw.Title, engine.R, - engine.GY, sw.Platform, sw.Author, engine.R)) + engine.COLOR_YELLOW, i+1, engine.COLOR_RESET, + engine.COLOR_WHITE, engine.COLOR_BOLD, sw.Title, engine.COLOR_RESET, + engine.COLOR_GREEN, sw.Platform, sw.Author, engine.COLOR_RESET)) if sw.Desc != "" { wrappedDesc := s.Printer.Wrapped(sw.Desc, 7, 1000) for _, line := range strings.Split(wrappedDesc, "\r\n") { - s.Printer.Send(fmt.Sprintf("%s%s\r\n", engine.GY, line)) + s.Printer.Send(fmt.Sprintf("%s%s\r\n", engine.COLOR_GRAY, line)) } } if lr != nil { badges := []string{} if lr.HTMLFolderPath != "" { - badges = append(badges, fmt.Sprintf("%s[▶ Play]%s", engine.GR, engine.R)) + badges = append(badges, fmt.Sprintf("%s[▶ Play]%s", engine.COLOR_GREEN, engine.COLOR_RESET)) } if lr.CartridgePath != "" { - badges = append(badges, fmt.Sprintf("%s[⬇ Download]%s", engine.BL, engine.R)) + badges = append(badges, fmt.Sprintf("%s[⬇ Download]%s", engine.COLOR_BLUE, engine.COLOR_RESET)) } if lr.SourcePath != "" { - badges = append(badges, fmt.Sprintf("%s[Source]%s", engine.MG, engine.R)) + badges = append(badges, fmt.Sprintf("%s[Source]%s", engine.COLOR_MAGENTA, engine.COLOR_RESET)) } if lr.DocsFolderPath != "" { - badges = append(badges, fmt.Sprintf("%s[Docs]%s", engine.YL, engine.R)) + badges = append(badges, fmt.Sprintf("%s[Docs]%s", engine.COLOR_YELLOW, engine.COLOR_RESET)) } badgeStr := "–" @@ -73,19 +73,19 @@ func (h *CatalogHandler) Handle(s *engine.Session) { badgeStr = strings.Join(badges, " ") } s.Printer.Send(fmt.Sprintf(" %s%s: v%s%s %s\r\n", - engine.GY, s.Lang["CatLatest"], lr.Version, engine.R, badgeStr)) + engine.COLOR_GRAY, s.Lang["CatLatest"], lr.Version, engine.COLOR_RESET, badgeStr)) if lr.HTMLFolderPath != "" { url := base + lr.HTMLFolderPath - s.Printer.Send(fmt.Sprintf(" %s▶ %s%s\r\n", engine.DIM, url, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s▶ %s%s\r\n", engine.COLOR_DIM, url, engine.COLOR_RESET)) } } s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", - engine.GY, fmt.Sprintf(s.Lang["CatVersions"], len(entry.Releases)), engine.R)) + engine.COLOR_GRAY, fmt.Sprintf(s.Lang["CatVersions"], len(entry.Releases)), engine.COLOR_RESET)) } - s.Printer.HR("─", engine.YL) + s.Printer.HR("─", engine.COLOR_YELLOW) s.Printer.Send("\r\n") - s.Printer.Send(fmt.Sprintf(" %s%s: %s%s\r\n", engine.GY, s.Lang["CatFull"], base, engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s: %s%s\r\n", engine.COLOR_GREEN, s.Lang["CatFull"], base, engine.COLOR_RESET)) s.Printer.Pause(s.Lang) } diff --git a/content/handler.howtos.go b/content/handler.howtos.go index 98a372c..ff30f31 100644 --- a/content/handler.howtos.go +++ b/content/handler.howtos.go @@ -12,5 +12,5 @@ func NewHowToHandler(token string) *HowToHandler { } func (h *HowToHandler) Handle(s *engine.Session) { - renderWikiList(s, h.repo, "howto", "HowTo Guides", engine.MG) + renderWikiList(s, h.repo, "howto", "HowTo Guides", engine.COLOR_MAGENTA) } diff --git a/content/handler.messageboard.index.go b/content/handler.messageboard.index.go index 6e48332..dcf10ec 100644 --- a/content/handler.messageboard.index.go +++ b/content/handler.messageboard.index.go @@ -15,7 +15,7 @@ func NewMessageBoardIndexHandler(board *MessageBoard) *MessageBoardIndexHandler } func (h *MessageBoardIndexHandler) Handle(s *engine.Session) { - s.Printer.BoxHeader(s.Lang["MsgBoardTitle"], engine.GR) + s.Printer.BoxHeader(s.Lang["MsgBoardTitle"], engine.COLOR_GRAY) h.board.mu.Lock() snap := make([]message, len(h.board.messages)) @@ -23,7 +23,7 @@ func (h *MessageBoardIndexHandler) Handle(s *engine.Session) { h.board.mu.Unlock() if len(snap) == 0 { - s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.GY, s.Lang["MsgNoMessages"], engine.R)) + s.Printer.Send(fmt.Sprintf(" %s%s%s\r\n", engine.COLOR_GRAY, s.Lang["MsgNoMessages"], engine.COLOR_RESET)) } else { start := 0 if len(snap) > 30 { @@ -31,9 +31,9 @@ func (h *MessageBoardIndexHandler) Handle(s *engine.Session) { } for i, msg := range snap[start:] { s.Printer.Send(fmt.Sprintf(" %s%02d%s %s%s%s %s%s:%s %s\r\n", - engine.GR, i+1, engine.R, - engine.GY, msg.Timestamp, engine.R, - engine.WH, msg.User, engine.R, msg.Text)) + engine.COLOR_GRAY, i+1, engine.COLOR_RESET, + engine.COLOR_GRAY, msg.Timestamp, engine.COLOR_RESET, + engine.COLOR_WHITE, msg.User, engine.COLOR_RESET, msg.Text)) } } s.Printer.Pause(s.Lang) diff --git a/content/handler.messageboard.new.go b/content/handler.messageboard.new.go index 9f916ed..cb6a247 100644 --- a/content/handler.messageboard.new.go +++ b/content/handler.messageboard.new.go @@ -17,7 +17,7 @@ func NewMessageBoardNewHandler(board *MessageBoard) *MessageBoardNewHandler { } func (h *MessageBoardNewHandler) Handle(s *engine.Session) { - s.Printer.Send(fmt.Sprintf("\r\n%s%s%s ", engine.WH, s.Lang["MsgEnterText"], engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s%s ", engine.COLOR_WHITE, s.Lang["MsgEnterText"], engine.COLOR_RESET)) msgText, _ := s.Printer.ReadLine() msgText = strings.TrimSpace(msgText) if msgText != "" { @@ -30,9 +30,9 @@ func (h *MessageBoardNewHandler) Handle(s *engine.Session) { h.board.messages = append(h.board.messages, msg) h.board.mu.Unlock() h.board.append(msg) - s.Printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", engine.GR, s.Lang["MsgSent"], engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", engine.COLOR_GREEN, s.Lang["MsgSent"], engine.COLOR_RESET)) } else { - s.Printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", engine.GY, s.Lang["MsgEmpty"], engine.R)) + s.Printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", engine.COLOR_GRAY, s.Lang["MsgEmpty"], engine.COLOR_RESET)) } s.Printer.Pause(s.Lang) } diff --git a/content/handler.online.go b/content/handler.online.go index a94b9c7..1b7a40e 100644 --- a/content/handler.online.go +++ b/content/handler.online.go @@ -14,7 +14,7 @@ func NewOnlineHandler() *OnlineHandler { } func (h *OnlineHandler) Handle(s *engine.Session) { - s.Printer.BoxHeader(s.Lang["OnlineTitle"], engine.CY) + s.Printer.BoxHeader(s.Lang["OnlineTitle"], engine.COLOR_YELLOW) snap := s.State.Snapshot() keys := make([]string, 0, len(snap)) @@ -27,12 +27,12 @@ func (h *OnlineHandler) Handle(s *engine.Session) { user := snap[addr] marker := "" if addr == s.Addr { - marker = fmt.Sprintf(" %s%s%s", engine.GR, s.Lang["OnlineYou"], engine.R) + marker = fmt.Sprintf(" %s%s%s", engine.COLOR_GREEN, s.Lang["OnlineYou"], engine.COLOR_RESET) } - s.Printer.Send(fmt.Sprintf(" %s•%s %s%s%s%s\r\n", engine.CY, engine.R, engine.WH, user, engine.R, marker)) + s.Printer.Send(fmt.Sprintf(" %s•%s %s%s%s%s\r\n", engine.COLOR_YELLOW, engine.COLOR_RESET, engine.COLOR_WHITE, user, engine.COLOR_RESET, marker)) } - s.Printer.Send(fmt.Sprintf("\r\n %s%s\r\n", engine.GY, - fmt.Sprintf(s.Lang["OnlineTotal"], engine.WH, len(snap), engine.GY, engine.R))) + s.Printer.Send(fmt.Sprintf("\r\n %s%s\r\n", engine.COLOR_GRAY, + fmt.Sprintf(s.Lang["OnlineTotal"], engine.COLOR_WHITE, len(snap), engine.COLOR_GRAY, engine.COLOR_RESET))) s.Printer.Pause(s.Lang) } diff --git a/content/handler.sysinfo.go b/content/handler.sysinfo.go index 99970a6..b179cfc 100644 --- a/content/handler.sysinfo.go +++ b/content/handler.sysinfo.go @@ -16,12 +16,12 @@ func NewSysinfoHandler(board *MessageBoard) *SysinfoHandler { } func (h *SysinfoHandler) Handle(s *engine.Session) { - s.Printer.BoxHeader(s.Lang["SysTitle"], engine.GY) + s.Printer.BoxHeader(s.Lang["SysTitle"], engine.COLOR_GRAY) - s.Printer.Send(fmt.Sprintf(" %s%-15s%s %d\r\n", engine.GY, s.Lang["SysUsers"], engine.WH, s.State.UserCount())) - s.Printer.Send(fmt.Sprintf(" %s%-15s%s %d\r\n", engine.GY, s.Lang["SysMessages"], engine.WH, h.board.Count())) - s.Printer.Send(fmt.Sprintf(" %s%-15s%s %s\r\n", engine.GY, s.Lang["SysOS"], engine.WH, runtime.GOOS)) - s.Printer.Send(fmt.Sprintf(" %s%-15s%s %s\r\n", engine.GY, s.Lang["SysArch"], engine.WH, runtime.GOARCH)) + s.Printer.Send(fmt.Sprintf(" %s%-15s%s %d\r\n", engine.COLOR_GRAY, s.Lang["SysUsers"], engine.COLOR_RESET, s.State.UserCount())) + s.Printer.Send(fmt.Sprintf(" %s%-15s%s %d\r\n", engine.COLOR_GRAY, s.Lang["SysMessages"], engine.COLOR_RESET, h.board.Count())) + s.Printer.Send(fmt.Sprintf(" %s%-15s%s %s\r\n", engine.COLOR_GRAY, s.Lang["SysOS"], engine.COLOR_RESET, runtime.GOOS)) + s.Printer.Send(fmt.Sprintf(" %s%-15s%s %s\r\n", engine.COLOR_GRAY, s.Lang["SysArch"], engine.COLOR_RESET, runtime.GOARCH)) s.Printer.Pause(s.Lang) } diff --git a/engine/menu.go b/engine/menu.go index 64d9256..43f407d 100644 --- a/engine/menu.go +++ b/engine/menu.go @@ -53,26 +53,26 @@ func (m *Menu) Dispatch(s *Session, key string) { // Render returns the rendered menu string func (m *Menu) Render(p *Printer, lang T, username string) string { headerLine := strings.Repeat("═", W) - l1 := p.PadLine(fmt.Sprintf(" %s%s%s %s@%s%s", YL, m.title, R, GY, username, R), W) + l1 := p.PadLine(fmt.Sprintf(" %s%s%s %s@%s%s", COLOR_YELLOW, m.title, COLOR_RESET, COLOR_GRAY, username, COLOR_RESET), W) var rows []string for i := 0; i < len(m.items); i += 2 { if i+1 < len(m.items) { - left := p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i].Color, m.items[i].Key, R, m.items[i].Label), W/2) - right := p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i+1].Color, m.items[i+1].Key, R, m.items[i+1].Label), W/2) + left := p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i].Color, m.items[i].Key, COLOR_RESET, m.items[i].Label), W/2) + right := p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i+1].Color, m.items[i+1].Key, COLOR_RESET, m.items[i+1].Label), W/2) rows = append(rows, left+right) } else { - rows = append(rows, p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i].Color, m.items[i].Key, R, m.items[i].Label), W)) + rows = append(rows, p.PadLine(fmt.Sprintf(" %s[%s]%s %s", m.items[i].Color, m.items[i].Key, COLOR_RESET, m.items[i].Label), W)) } } var sb strings.Builder - sb.WriteString(fmt.Sprintf("\n%s╔%s╗%s\n", WH, headerLine, R)) - sb.WriteString(fmt.Sprintf("%s║%s%s║%s\n", WH, l1, WH, R)) - sb.WriteString(fmt.Sprintf("%s╠%s╣%s\n", WH, headerLine, R)) + sb.WriteString(fmt.Sprintf("\n%s╔%s╗%s\n", COLOR_WHITE, headerLine, COLOR_RESET)) + sb.WriteString(fmt.Sprintf("%s║%s%s║%s\n", COLOR_WHITE, l1, COLOR_WHITE, COLOR_RESET)) + sb.WriteString(fmt.Sprintf("%s╠%s╣%s\n", COLOR_WHITE, headerLine, COLOR_RESET)) for _, row := range rows { - sb.WriteString(fmt.Sprintf("%s║%s%s║%s\n", WH, row, WH, R)) + sb.WriteString(fmt.Sprintf("%s║%s%s║%s\n", COLOR_WHITE, row, COLOR_WHITE, COLOR_RESET)) } - sb.WriteString(fmt.Sprintf("%s╚%s╝%s\n%s", WH, headerLine, R, lang["Choice"])) + sb.WriteString(fmt.Sprintf("%s╚%s╝%s\n%s", COLOR_WHITE, headerLine, COLOR_RESET, lang["Choice"])) return sb.String() } diff --git a/engine/printer.go b/engine/printer.go index e30c199..e2cbeec 100644 --- a/engine/printer.go +++ b/engine/printer.go @@ -12,17 +12,17 @@ import ( // ANSI color codes const ( - R = "\033[0m" - B = "\033[1m" - DIM = "\033[2m" - CY = "\033[1;36m" - YL = "\033[1;33m" - GR = "\033[1;32m" - RD = "\033[1;31m" - MG = "\033[1;35m" - WH = "\033[1;37m" - BL = "\033[1;34m" - GY = "\033[0;37m" + COLOR_RESET = "\033[0m" + COLOR_BOLD = "\033[1m" + COLOR_DIM = "\033[2m" + COLOR_CYAN = "\033[1;36m" + COLOR_YELLOW = "\033[1;33m" + COLOR_GREEN = "\033[1;32m" + COLOR_RED = "\033[1;31m" + COLOR_MAGENTA = "\033[1;35m" + COLOR_WHITE = "\033[1;37m" + COLOR_BLUE = "\033[1;34m" + COLOR_GRAY = "\033[0;37m" ) // W is the default terminal width @@ -94,7 +94,7 @@ func (p *Printer) ReadLine() (string, error) { } func (p *Printer) Pause(lang T) { - p.Send(fmt.Sprintf("\r\n%s [ %s ]%s ", GY, lang["Pause"], R)) + p.Send(fmt.Sprintf("\r\n%s [ %s ]%s ", COLOR_GRAY, lang["Pause"], COLOR_RESET)) p.ReadLine() } @@ -122,14 +122,14 @@ func (p *Printer) BoxHeader(title string, color string) { inner := strings.Repeat(" ", padding) + title + strings.Repeat(" ", W-2-titleLen-padding) p.Send(fmt.Sprintf( "\n%s%s%s\n%s║%s %s%s%s %s║%s\n%s%s%s\n", - color, line, R, - color, R, B, inner, R, color, R, - color, line, R, + color, line, COLOR_RESET, + color, COLOR_RESET, COLOR_BOLD, inner, COLOR_RESET, color, COLOR_RESET, + color, line, COLOR_RESET, )) } func (p *Printer) HR(char string, color string) { - p.Send(fmt.Sprintf("%s%s%s", color, strings.Repeat(char, W), R)) + p.Send(fmt.Sprintf("%s%s%s", color, strings.Repeat(char, W), COLOR_RESET)) } func (p *Printer) FmtDate(s string) string { diff --git a/engine/server.go b/engine/server.go index c86d04b..f775ac3 100644 --- a/engine/server.go +++ b/engine/server.go @@ -73,8 +73,8 @@ func (b *BBS) handleClient(conn net.Conn) { // Telnet negotiation (IAC WILL ECHO, IAC WILL SGA, IAC WONT LINEMODE) printer.Send("\xff\xfb\x01\xff\xfb\x03\xff\xfe\x22") - printer.Send(CY + b.config.Banner + R) - printer.Send(fmt.Sprintf("\n%s%s%s ", WH, lang["AskName"], R)) + printer.Send(COLOR_CYAN + b.config.Banner + COLOR_RESET) + printer.Send(fmt.Sprintf("\n%s%s%s ", COLOR_WHITE, lang["AskName"], COLOR_RESET)) username, err := printer.ReadLine() if err != nil { @@ -98,7 +98,7 @@ func (b *BBS) handleClient(conn net.Conn) { b.state.Mu.Unlock() }() - printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", GR, fmt.Sprintf(lang["Greeting"], WH, username, GR), R)) + printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n", COLOR_GREEN, fmt.Sprintf(lang["Greeting"], COLOR_WHITE, username, COLOR_GREEN), COLOR_RESET)) session := &Session{ State: b.state, @@ -118,6 +118,6 @@ func (b *BBS) handleClient(conn net.Conn) { } if session.Quit { - printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n\r\n", RD, fmt.Sprintf(lang["Goodbye"], username), R)) + printer.Send(fmt.Sprintf("\r\n%s%s%s\r\n\r\n", COLOR_RED, fmt.Sprintf(lang["Goodbye"], username), COLOR_RESET)) } } diff --git a/main.go b/main.go index 36cd6ef..b4d36e7 100644 --- a/main.go +++ b/main.go @@ -60,14 +60,14 @@ func main() { bbs.Menu(func(m *engine.Menu) { m.Title("MAIN MENU") - m.Item("1", "Message Board", engine.GR, messageBoardIndexHandler.Handle) - m.Item("N", "New Message", engine.WH, messageBoardNewHandler.Handle) - m.Item("2", "Blog Posts", engine.BL, blogHandler.Handle) - m.Item("3", "HowTo Guides", engine.MG, howtoHandler.Handle) - m.Item("4", "Game Catalog", engine.YL, catalogHandler.Handle) - m.Item("5", "Online Users", engine.CY, onlineHandler.Handle) - m.Item("6", "System Info", engine.GY, sysinfoHandler.Handle) - m.Item("Q", "Exit", engine.RD, engine.Exit) + m.Item("1", "Message Board", engine.COLOR_GREEN, messageBoardIndexHandler.Handle) + m.Item("N", "New Message", engine.COLOR_WHITE, messageBoardNewHandler.Handle) + m.Item("2", "Blog Posts", engine.COLOR_BLUE, blogHandler.Handle) + m.Item("3", "HowTo Guides", engine.COLOR_MAGENTA, howtoHandler.Handle) + m.Item("4", "Game Catalog", engine.COLOR_YELLOW, catalogHandler.Handle) + m.Item("5", "Online Users", engine.COLOR_CYAN, onlineHandler.Handle) + m.Item("6", "System Info", engine.COLOR_GRAY, sysinfoHandler.Handle) + m.Item("Q", "Exit", engine.COLOR_RED, engine.Exit) }) bbs.Start()