added pretty_json.nim script

This commit is contained in:
Araq 2015-08-19 01:45:57 +02:00
parent 5a262a07c6
commit 1e55e2f771

41
pretty_json.nim Normal file
View File

@ -0,0 +1,41 @@
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()