Cookbook: Building a CLI File Tool
Build a command-line utility that inspects files, counts lines of code, and outputs a formatted statistics report.
Source Code (loc.dz)
djazair
use dir
use file
use path
use process
let args = process.args()
let targetFolder = if args.length() > 0 ? args[0] else "."
let files = dir.glob(path.join(targetFolder, "**/*.dz"))
let totalLines = 0
let fileCount = files.length()
print("Analyzing ${fileCount} files in ${targetFolder}...
")
for f in files
let lines = file.readLines(f)
let count = lines.length()
totalLines += count
print(" ${path.basename(f)}: ${count} lines")
end
print("
===================================")
print("Total Files: ${fileCount}")
print("Total Lines: ${totalLines}")
print("===================================")