Skip to content

Commit

Permalink
Improved settings browser
Browse files Browse the repository at this point in the history
  • Loading branch information
Nimaoth committed Feb 3, 2025
1 parent 5196d1c commit 873139d
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 6 deletions.
5 changes: 3 additions & 2 deletions src/app.nim
Original file line number Diff line number Diff line change
Expand Up @@ -1371,10 +1371,11 @@ proc browseSettings*(self: App, scaleX: float = 0.8, scaleY: float = 0.8, previe
proc getItems(): seq[FinderItem] {.gcsafe, raises: [].} =
var items = newSeq[FinderItem]()
for (key, value) in self.config.getAllConfigKeys():
let valueStr = $value
items.add FinderItem(
displayName: key,
data: value,
detail: value[0..min(value.high, 50)],
data: value.pretty,
detail: valueStr[0..min(valueStr.high, 50)],
)

return items
Expand Down
8 changes: 4 additions & 4 deletions src/config_provider.nim
Original file line number Diff line number Diff line change
Expand Up @@ -280,18 +280,18 @@ proc toggleFlag*(self: ConfigService, flag: string) {.expose("config").} =
log lvlInfo, fmt"toggleFlag '{flag}' -> {newValue}"
self.setFlag(flag, newValue)

proc getAllConfigKeys*(node: JsonNode, prefix: string, res: var seq[tuple[key: string, value: string]]) =
proc getAllConfigKeys*(node: JsonNode, prefix: string, res: var seq[tuple[key: string, value: JsonNode]]) =
case node.kind
of JObject:
if prefix.len > 0:
res.add (prefix, $node)
res.add (prefix, node)
for key, value in node.fields.pairs:
let key = if prefix.len > 0: prefix & "." & key else: key
value.getAllConfigKeys(key, res)
else:
res.add (prefix, $node)
res.add (prefix, node)

proc getAllConfigKeys*(self: ConfigService): seq[tuple[key: string, value: string]] =
proc getAllConfigKeys*(self: ConfigService): seq[tuple[key: string, value: JsonNode]] =
self.settings.getAllConfigKeys("", result)

addGlobalDispatchTable "config", genDispatchTable("config")

0 comments on commit 873139d

Please sign in to comment.