非常高兴在这里发布我的一个新的工程:https://rogerluo.me/Comonicon.jl/
特性
彩色且整齐的帮助信息
下面是一个用Comonicon构建的命令行工具:GitHub - Roger-luo/IonCLI.jl: The Ion CLI for Julia.
快速的启动时间
➜ Comonicon git:(master) ✗ hyperfine "julia example/comonicon_zero.jl 2"
Benchmark #1: julia example/comonicon_zero.jl 2
Time (mean ± σ): 399.5 ms ± 8.5 ms [User: 556.6 ms, System: 121.7 ms]
Range (min … max): 389.7 ms … 409.0 ms 10 runs
➜ Comonicon git:(master) hyperfine "julia --project example/comonicon.jl 2"
Benchmark #1: julia --project example/comonicon.jl 2
Time (mean ± σ): 781.2 ms ± 4.3 ms [User: 926.5 ms, System: 132.4 ms]
Range (min … max): 773.1 ms … 787.5 ms 10 runs
➜ Comonicon git:(master) ✗ hyperfine "julia example/fire.jl 2"
Benchmark #1: julia example/fire.jl 2
Time (mean ± σ): 722.5 ms ± 4.4 ms [User: 870.3 ms, System: 130.3 ms]
Range (min … max): 717.9 ms … 729.6 ms 10 runs
➜ Comonicon git:(master) ✗ hyperfine "julia example/argmacros.jl 2"
Benchmark #1: julia example/argmacros.jl 2
Time (mean ± σ): 668.8 ms ± 2.7 ms [User: 814.7 ms, System: 136.2 ms]
Range (min … max): 664.4 ms … 674.9 ms 10 runs
➜ Comonicon git:(master) hyperfine "julia --project example/argparse.jl 2"
Benchmark #1: julia --project example/argparse.jl 2
Time (mean ± σ): 3.885 s ± 0.038 s [User: 3.997 s, System: 0.159 s]
Range (min … max): 3.839 s … 3.964 s 10 runs
零依赖
Comonicon可以自动生成一个可读的Julia脚本用于处理你的命令行参数。这个脚本是没有任何依赖的独立脚本,你可以选择在生成了这个脚本之后完全去掉Comonicon,也可以使用Comonicon自带的compile cache功能。
详情可以参见英文post:Comonicon.jl - Fast, Simple and Light weight CLI generator - Package Announcements - Julia Programming Language
以及网页和文档。