#duration #time #cli #file-format

bin+lib nai

Measure the duration of meaningful pursuits

15 releases (5 stable)

2.0.0 Aug 7, 2024
1.1.1 Jul 22, 2023
1.1.0 Jun 23, 2023
0.9.0 Jun 21, 2023

#859 in Command line utilities

MIT license

28KB
584 lines

Nai (나이)

Measure the duration of meaningful pursuits.

Build status Sponsor me

demo


Features

  • Measure the duration of cherished moments.
  • Use any template in your imagination!.
  • Fancy error message and colorful output.
  • Cross-platform and single binary.

Why?

I want to have a fast way to calculate my family age, how long I have been working for a company, marriage, and other stuff.

Usage

Create a file named config.ron in ~/.config/nai/. If you are on Windows, put it under \AppData\Nai. Then add your configuration:

Config(
    moments: [
        // My birthday
        (
            start_date: "1980-10-30",
           // Currently, only `start_date` and `duration` are available
            format: "👶 {{ 'Aragorn II Elessar age (Me)' | cyan | bold }}\nBorn at: {{ start_date | red }}\nAge: {{ duration }}\n",
        ),
    ],
)

To see more configuration, see the example directory.

Installation

From binaries

The release page includes pre-compiled binaries for GNU/Linux, macOS, and Windows.

From source

Using cargo-binstall

$ cargo binstall nai

Using Rust's package manager cargo:

$ cargo install nai

Development

git clone https://github.com/azzamsa/nai

# Build
cd nai
cargo build

# Run unit tests and integration tests
cargo test

# Install
cargo install --path .

Contributing

To learn more read the development guide

Origin of the name

Nai (나이) means "age" in Korean.

Credits

Dependencies

~12–21MB
~299K SLoC