← 全部工具

willibrandon/scout

热度 65 更新于 开发与构建

Byte-oriented regex and ripgrep-compatible search libraries for .NET Native AOT

githubauto-collected

安装

暂未验证可直接使用的安装命令,请查看项目官方文档或 Release。

Scout

Byte-oriented regex and ripgrep-compatible search libraries for .NET Native AOT.

Scout is a reusable search stack for .NET: a byte-oriented linear-time regex engine, glob and ignore matching, a parallel filesystem walker, static PCRE2 bindings, and the scout command-line tool. The CLI is a ripgrep-compatible reference application and conformance harness for the same ported engine and traversal stack, not a wrapper around rg.

Status: v0.6.1, tracking ripgrep 15.1.0 (commit 4857d6fa67). Functional and fully tested — 4,580 tests pass on all six supported platforms. The release workflow publishes NuGet library packages, native binaries, .NET tool packages, Homebrew, Scoop, and winget.

Libraries

Scout's reusable packages target net9.0 and net10.0:

  • Scout.Text.Regex — byte-oriented, linear-time regular expressions.
  • Scout.IO.Globbing — byte glob and glob-set matching.
  • Scout.IO.Ignore — ripgrep-compatible ignore handling and recursive walking through FileWalker.

See docs/LIBRARIES.md for API examples.

Example

$ scout -n InvariantGlobalization Directory.Build.props
15:    <InvariantGlobalization>true</InvariantGlobalization>

$ scout -l NativeLib native/
native/build-app-unix.sh
native/build-app-windows.ps1

Scout's command line mirrors ripgrep's: if you know rg, you know scout. Run scout --help for the full reference.

Installation

Choose one installation method:

NuGet libraries

Install the reusable packages from NuGet:

dotnet add package Scout.Text.Regex
dotnet add package Scout.IO.Globbing
dotnet add package Scout.IO.Ignore

.NET tool

dotnet tool install -g Scout