4 个版本 (破坏性更新)

0.7.0 2022年3月12日
0.6.0 2022年3月10日
0.2.0 2022年2月25日
0.1.0 2022年2月24日

#2887命令行工具

MIT/Apache

15KB
304

xf

CI Crates

文件感知的动态命令运行器。

xf 尝试从当前目录向上查找文件,并根据找到的不同文件执行不同的命令。

安装

使用 cargo

cargo install xf

macOS、Linux、Windows 上的二进制文件

GitHub 发布 下载,解压并将 xf 添加到您的 $PATH。

用法

xf 从配置文件中加载规则。

配置文件的默认路径是 $HOME/.xf,可以通过 XF_CONFIG_PATH 环境变量指定。

规则格式是

<file>: <command>

<file> 告诉 xf 要查找哪个文件,<command> 告诉 xf 如果找到则执行哪个命令。

xf 有一个内置的最低优先级规则:Xfile: $file $@

配置以下规则

Taskfile: bash $file $@

运行 xf foo

xf 尝试在当前目录中查找 Taskfile 文件,如果找到,则执行 bash $file foo .

如果没有找到,继续在当前目录中查找 Xfile 文件,如果找到,则执行 Xfile foo(内置规则)。

如果没有找到,进入父目录继续此过程。

文件匹配规则

  1. 忽略大小写。 Xfile 可以匹配文件 xfilexFile

  2. 找到包含规则文件名的文件名。 Xfile 可以匹配文件 Xfile.shXfile.cmd

变量

以下内置变量可以在规则的命令部分中使用。

  • $@ - 传递命令行参数
  • $file - 文件路径
  • $fileDir - 文件目录,进程的工作目录将被设置为该值
  • $currentDir - 当前目录

这些变量(排除 $@)也会同步到环境变量

  • $file => XF_FILE
  • $fileDir => XF_FILE_DIR
  • $currentDir => XF_CURRENT_DIR

命令名称

实际上,命令名称影响内置规则和环境变量前缀。

如果您将可执行文件 xf 重命名为 task

  1. 内置规则将是 Taskfile: $file $@

  2. 默认配置文件路径将是 $HOME/.task

  3. 环境变量 XF_CONFIG_PATH 将是 TASK_CONFIG_PATH

  4. $file 的环境变量将是 TASK_FILE

许可证

版权(c)2022 xf-developers。

argc 在 MIT 许可证或 Apache 许可证 2.0 的条款下提供,由您选择。

有关许可证详情,请参阅 LICENSE-APACHE 和 LICENSE-MIT 文件。

依赖项

~150KB