用途:把用户意图转换为精确且默认安全的 srgn 命令,覆盖源码搜索、流式转换、文件就地修改、范围化迁移与类 lint 检查。
主要能力:支持仅搜索、stdin/stdout 流式转换、基于 glob 的文件就地更新;范围策略包括仅正则、仅语言、语言加正则、自定义 tree-sitter 查询;动作包括替换(-- 后的位置参数)、可组合动作(--upper、--lower、--titlecase、--normalize、--symbols、--german)以及独立动作(-d、-s)。
使用方式:按模板 srgn [LANGUAGE_SCOPE_FLAGS...] [GLOBAL_FLAGS...] [ACTION_FLAGS...] [SCOPE_REGEX] -- [REPLACEMENT] 增量构建,先定范围,再加正则过滤,然后动作,最后文件模式与 CI 行为。示例:srgn --python 'imports' '^old_pkg' --glob '/*.py' --dry-run -- 'new_pkg';srgn --rust 'uses' '^good_company' --glob '/*.rs' --dry-run -- 'better_company';srgn --python 'doc-strings' --fail-any 'param.+type'。
安全与限制:默认非破坏性,文件编辑先 --dry-run 预览,确认后再去掉;正则与 glob 需加引号,替换值放在 -- 之后;--glob 只接受一个模式且不可重复,语法仅支持 *、?、[...]、**,无 {a,b} 花括号展开;多文件可用更宽 glob 加 --dry-run,或通过 fd 逐文件处理:fd -e <ext> --strip-cwd-prefix -x srgn --glob '{}' --stdin-detection force-unreadable [OPTIONS] [PATTERN]。-d 与 -s 属高风险操作,必须显式指定范围。多个语言范围默认取交集,-j 切换为 OR。字面匹配用 --literal-string。机器可读输出用 --stdout-detection force-pipe。CI 可用 --fail-any、--fail-none、--fail-no-files。
适用场景:安全重命名导入、仅改函数调用、仅处理注释或文档字符串、CI 模式检查、需要可解析输出等。
限制:资料未提供安装方式、版本、平台与收费信息。