#counter #shell #numbers #count #applications #counting #command

app clorange

一个简单的以 shell 为中心的计数器 CLI

3 个版本 (稳定版)

1.1.0 2023年12月20日
1.0.3 2023年12月6日
0.1.0 2023年11月13日

#1403命令行工具

MIT 协议

14KB
232

Clorange

项目的想法是提供一个简单易用的以 shell 为中心的计数器。

(名字来源于《机械姬橙》。我不知道“机械”听起来有点像计数。)

你是否曾经编写了一个简单的函数,结果因为想要计数而变得过于复杂?

让我给你举一个例子。

我有一个鱼函数,它作为一个番茄钟计时器工作。大致是这个样子

function pom
    while true
        termdown 25m || break
        termdown 5m || break
    end
end

你不希望随时知道我完成的工作周期数量,对吧?

这就带我们来到了这个可怕的表示式,每次一个周期完成时都会在文件中存储的数字上加一:printf (math (cat /tmp/workie) + 1) > /tmp/workie

真是可怕!当然,这可能是你编写并永远不会再次看过的函数,但你没有方便的方法与这个数字进行交互。

我绝对讨厌输入完整的路径,而现在要更改或查看值,我需要 nvim /tmp/workiecat /tmp/workie

当然,我可以为这两个特定的命令创建别名,但这只是把问题掩盖起来,因为我可能要计数的对象是无限的,因此需要无限多的文件和别名。

更不用说,你不再有像“增加”、“减少”等良好的抽象,而是必须 手动输入 printf (math (cat /tmp/workie) + 1) > /tmp/workie 这样的表示式,我真诚地希望你不希望这样做。

该程序通过提供一个干净、简洁的界面来修改单数计数器文件来解决这一问题。

无需预先创建文件:clorange 会为您完成。

简洁简单的子命令:increment(增加)、decrement(减少)、add(添加)、sub(减去)、show(显示)——它们确实如您所想的那样执行。

您甚至不需要手动输入它们!所有子命令都有方便的别名,您可以在使用说明部分了解它们。

当您需要设置任意值时,无需手动编辑文件——使用clorange instances set 69将数字 69 写入名为 "instances" 的计数器中。

想要确保计数器文件存在以供娱乐?我们有一个工具,名为 clorange instances new

使用说明

By default, clorange stores counters in a directory named 'clorange' located in
your OS' data directory.
* Linux: /home/username/.local/share/clorange
* MacOS: /Users/username/Library/Application Support/clorange
* Windows: C:/Users/username/AppData/Roaming/clorange
You can override it by setting the environment variable CLORANGE_DATA_DIR to the
path you want.
An even stronger override is using the -d / --data flags.
Both don't require you to create the subdirectories in the path beforehand.

Each counter uses its own file (which contains a single number), that you modify
with subcommands.
The default value in a new counter file is 0.
Counter files are created automatically once you call any subcommand.
You can specify parent directories in the <COUNTER> argument, and they also don't
have to exist beforehand.
The relative-looking path is effectively relative to the data directory.

Usage: clorange [OPTIONS] [COUNTER] [COMMAND]

Commands:
  increment  [aliases: inc, i]
  decrement  [aliases: dec, d]
  new        Ensures that the counter file exists, and creates it if it
                 doesn't [aliases: create, n]
  reset      Set the counter to 0. Acts as an equivalent alias to `set 0`
                 [aliases: r]
  set        [aliases: t]
  add        [aliases: a]
  subtract   [aliases: s, sub]
  show       [aliases: v, see, look, view]
  help       Print this message or the help of the given subcommand(s)

Arguments:
  [COUNTER]  Specify a path to a counter file, relative to the data directory

Options:
  -d, --data <PATH>  Specify the directory to make the counter files in
  -c, --clear        Delete the default data directory along with all the counter
                     files, and then immediately exit. You would usually do this
                     before uninstalling clorange D: Or to just clean up old
                     unused counters :D"
  -h, --help         Print help
  -V, --version      Print version

安装

cargo install clorange

也支持cargo-binstallcargo-quickinstall

卸载

clorange --clear
cargo uninstall clorange

依赖关系

约3-15MB
约158K SLoC