Subject: Re: bug#45614: [PATCH] gnu: Add ugrep.

From: Ludovic Courtès <[email-masked]>
Date: Wed, 13 Jan 2021 16:19:40 +0100

Hi!

Hartmut Goebel <[email-masked]> skribis:

> * gnu/packages/search.scm (ugrep): New Variable.

[...]

> +               '(begin
> +                  (delete-file-recursively "bin")  ;; pre-build executables
> +                  ;; TODO: If there is a script for rebuilding them, remove
> +                  ;; archives, pdf and .class in tests/

Java .class files (is that it?) should definitely be removed.

> +    (description "Universal grep: ultra fast searcher of file systems, text
> +and binary files, source code, archives, compressed files, documents, and
> +more.
> +
> +The main features include:
> +
> +@itemize
> +@item Written in clean and efficient C++11, built for speed
> +@item Ultra fast with new match algorithms beating grep, ripgrep, silver
> +      searcher, hyperscan, etc.
> +@item Multi-threaded search using high-performance lock-free job queue stealing
> +@item Multi-threaded task-parallel decompression and search
> +@item Optimized pattern matching (AVX, SSE2, ARM NEON/AArch64)
> +@item Optimized asynchronous IO for efficient concurrent searching
> +@item Thoroughly tested (includes over 1000 test cases)
> +@item Compatible with the standard GNU/BSD grep command-line options
> +@item Comprehensive how-to tutorial for beginners to advanced users
> +@item Interactive query UI to enter search patterns
> +@item Select files to search by file types, filename suffix, and \"magic bytes\"
> +@item Search archives (cpio, jar, tar, pax, zip)
> +@item Search compressed files (zip, gz, Z, bz, bz2, lzma, xz)
> +@item Search pdf, doc, docx, xls, xlxs, and more using filters
> +@item Search binary files and display hexdumps with binary pattern matches
> +@item Search UTF-encoded files with Unicode pattern matches (by default)
> +@item Search files encoded in ISO-8859-1 thru 16, CP 437, CP 850, MAC, KOI8, etc.
> +@item Search files excluding files specified by .gitignore etc.
> +@item Search patterns across newlines, matching multiple lines at once
> +@item Search patterns excluding negative patterns (\"match this but not that\")
> +@item Includes predefined regex patterns to search source code, XML, JSON, HTML
> +@item Output results in CSV, JSON, XML, and user-specified formats
> +@item Sort matching files by name, size, and time
> +@end itemize")

That’s too much detail, and it’s also bound to become stale as ugrep
changes.

Could you (1) start with a full sentence, and (2) give a high-level view
of the features in 5–10 lines at most?

Thanks,
Ludo’.