glob-mbt 是一个专门为 MoonBit 语言设计的高性能、零外部依赖的路径通配符(Glob)匹配与文件检索库。类似于 Go 语言的 path/filepath.Match 和 JavaScript 生态的 minimatch/picomatch。它提供了对标准通配符模式(如 *、?、**、[char-class] 以及 {group1,group2})的解析、编译与高速路径匹配功能,并能够
版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9
京公网安备 11010802047560号
glob-mbt: 高性能文件路径通配符匹配与检索库
glob-mbt是一个专门为 MoonBit 语言设计的高性能、零依赖路径通配符(Glob)匹配与文件检索库。类似于 Go 语言的path/filepath.Match和 JavaScript 生态的picomatch/minimatch。本项目针对 WebAssembly (Wasm) 与 Native 目标进行了双重优化,适用于构建工具、静态网站生成器、CLI 文件检索工具以及后台服务等场景。
特性
*、?、**(多级目录)、[char-class](字符集/范围)以及{group1,group2}(花括号展开)。moon-glob实用工具,可直接在终端中进行通配符路径检索。支持的通配符语法
*/)src/*.mbt匹配src/main.mbt,但不匹配src/core/utils.mbt?test_?.mbt匹配test_a.mbt****/可为空)src/**/*.mbt匹配src/main.mbt和src/core/utils.mbt[abc]file[0-9].txt匹配file5.txt[!abc]file[!0-9].txt匹配filea.txt{a,b,c}src/*.{mbt,json}匹配src/a.mbt和src/b.json\file\*匹配名为file*的文件安装与配置
在你的 MoonBit 项目的
moon.mod中声明对该模块的依赖。如果是本地模块,可以直接在moon.pkg中导入:使用方法
1. 作为库使用
基础模式匹配
编译模式匹配(推荐用于高频/循环匹配)
2. 作为命令行工具使用
你可以直接使用
moon run运行内置 of CLI 工具:运行测试
使用 MoonBit 内置的测试工具运行所有单元测试与规格测试:
许可证
本项目采用 Apache-2.0 License 许可证。