From 0e5da8c305d082b116f365e54c9c2d5192c89689 Mon Sep 17 00:00:00 2001 From: Zed Date: Mon, 10 Jan 2022 16:18:10 +0100 Subject: [PATCH] Reimplement titleize without regex --- src/formatters.nim | 11 +++++++++++ src/routes/preferences.nim | 15 ++------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/formatters.nim b/src/formatters.nim index 7ff04e3..161505d 100644 --- a/src/formatters.nim +++ b/src/formatters.nim @@ -1,5 +1,6 @@ # SPDX-License-Identifier: AGPL-3.0-only import strutils, strformat, times, uri, tables, xmltree, htmlparser, htmlgen +import std/enumerate import regex import types, utils, query @@ -179,3 +180,13 @@ proc getLocation*(u: Profile | Tweet): (string, string) = proc getSuspended*(username: string): string = &"User \"{username}\" has been suspended" + +proc titleize*(str: string): string = + const + lowercase = {'a'..'z'} + delims = {' ', '('} + + result = str + for i, c in enumerate(str): + if c in lowercase and (i == 0 or str[i - 1] in delims): + result[i] = c.toUpperAscii diff --git a/src/routes/preferences.nim b/src/routes/preferences.nim index f8a8dba..b8af03d 100644 --- a/src/routes/preferences.nim +++ b/src/routes/preferences.nim @@ -1,25 +1,14 @@ # SPDX-License-Identifier: AGPL-3.0-only -import strutils, uri, os, re, algorithm +import strutils, uri, os, algorithm import jester import router_utils -import ../types +import ".."/[types, formatters] import ../views/[general, preferences] export preferences -let titleizeRegex = re"(?