Nimgrep improvements 2 (#15612)

* nimgrep: speed up by threads and Channels
* nimgrep: add --bin, --text, --count options
* nimgrep: add --sortTime option
* allow Peg in all matches
including --includeFile, --excludeFile, --excludeDir

* add --match and --noMatch options
* add --includeDir option
* add --limit (-m) and --onlyAscii (-o) options
* fix performance regression

introduced in nimgrep improvements #12779

* better error handling
* add option --fit
* fix groups in --replace
* fix flushing, --replace, improve --count
* use "." as the default directory, not full path
* fix --fit for Windows
* force target to C for macosx
* validate non-negative int input for options #15318
* switch nimgrep to using --gc:orc
* address review: implement cropping in matches,...
* implement stdin/pipe & revise --help
* address stylistic review & add limitations
This commit is contained in:
Andrey Makarov
2020-11-09 11:19:06 +03:00
committed by GitHub
parent 49f68122e6
commit 5db181f377
3 changed files with 1055 additions and 303 deletions

View File

@@ -262,6 +262,9 @@ proc debuggerTests(r: var TResults, cat: Category, options: string) =
if fileExists("tools/nimgrep.nim"):
var t = makeTest("tools/nimgrep", options & " --debugger:on", cat)
t.spec.action = actionCompile
# force target to C because of MacOS 10.15 SDK headers bug
# https://github.com/nim-lang/Nim/pull/15612#issuecomment-712471879
t.spec.targets = { targetC }
testSpec r, t
# ------------------------- JS tests ------------------------------------------

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,4 @@
# The GC is stable enough now:
#--gc:none
# don't use --gc:refc because of bug
# https://github.com/nim-lang/Nim/issues/14138 .
# --gc:orc and --gc:markandsweep work well.
--threads:on --gc:orc