mirror of
https://github.com/logos-messaging/packages.git
synced 2026-01-02 14:13:05 +00:00
42 lines
899 B
Nim
42 lines
899 B
Nim
|
|
import strutils, json, os
|
|
|
|
proc cleanupWhitespace(s: string): string =
|
|
## Removes trailing whitespace and normalizes line endings to LF.
|
|
result = newStringOfCap(s.len)
|
|
var i = 0
|
|
while i < s.len:
|
|
if s[i] == ' ':
|
|
var j = i+1
|
|
while s[j] == ' ': inc j
|
|
if s[j] == '\c':
|
|
inc j
|
|
if s[j] == '\L': inc j
|
|
result.add '\L'
|
|
i = j
|
|
elif s[j] == '\L':
|
|
result.add '\L'
|
|
i = j+1
|
|
else:
|
|
result.add ' '
|
|
inc i
|
|
elif s[i] == '\c':
|
|
inc i
|
|
if s[i] == '\L': inc i
|
|
result.add '\L'
|
|
elif s[i] == '\L':
|
|
result.add '\L'
|
|
inc i
|
|
else:
|
|
result.add s[i]
|
|
inc i
|
|
if result[^1] != '\L':
|
|
result.add '\L'
|
|
|
|
proc editJson() =
|
|
var contents = parseFile("packages.json")
|
|
doAssert contents.kind == JArray
|
|
writeFile("packages.json", contents.pretty.cleanupWhitespace)
|
|
|
|
editJson()
|