Mercurial > projects > ldc
view tango/example/conduits/filescanregex.d @ 133:44a95ac7368a trunk
[svn r137] Many fixes towards tango.io.Console working, but not quite there yet...
In particular, assertions has been fixed to include file/line info, and much more!
author | lindquist |
---|---|
date | Mon, 14 Jan 2008 05:11:54 +0100 |
parents | 1700239cab2e |
children |
line wrap: on
line source
/************************************************************** Example that use FileScan and Regex as a filter. Put into public domain by Lars Ivar Igesund **************************************************************/ import tango.io.File, tango.io.Stdout, tango.io.FileScan, tango.text.Regex; void main(char[][] args) { uint total; if (args.length < 2) { Stdout("Please pass a directory to search").newline; return; } scope scan = new FileScan; scope regex = Regex(r"\.(d|obj)$"); scan(args[1], delegate bool (FilePath fp, bool isDir) { ++total; return isDir || regex.test(fp.toString); }); foreach (file; scan.files) Stdout(file).newline; Stdout.formatln("Found {} matches in {} entries", scan.files.length, total); Stdout.formatln ("\n{} Errors", scan.errors.length); foreach (error; scan.errors) Stdout (error).newline; }