thuli 1.0.0

A quiet little REPL for exploring Farben markup.
<div align="center">

  <img src="docs/demo.gif" width="600" alt="thuli demo">

# Thuli

A quiet little REPL for exploring [Farben](https://crates.io/crates/farben) markup.

[![Crates.io Version](https://img.shields.io/crates/v/thuli)](https://crates.io/crates/thuli)
[![docs.rs](https://img.shields.io/docsrs/thuli)](https://docs.rs/thuli)
[![License MIT](https://img.shields.io/crates/l/thuli)](LICENSE-MIT)
[![License Apache-2.0](https://img.shields.io/crates/l/thuli)](LICENSE-APACHE)
[![Crates.io Downloads](https://img.shields.io/crates/d/thuli)](https://crates.io/crates/thuli)
[![Rust Edition](https://img.shields.io/badge/rust%20edition-2024-orange)](https://doc.rust-lang.org/edition-guide/rust-2024/)
[![Deps.rs](https://deps.rs/repo/codeberg-razkar/thuli/status.svg)](https://deps.rs/repo/codeberg-razkar/thuli)

> Thuli is Zulu for "quiet" or "peace". The name fits: a calm, focused space
> for typing markup and seeing what comes out, without noise.

</div>

## Install

```bash
cargo install thuli
```

Or build from source:
```bash
cargo install --git https://codeberg.org/razkar/thuli
```

## What it is

A small interactive shell, in the spirit of `python` or `irb`, but for Farben
markup. Type a line of markup, see the rendered terminal output. Define styles
on the fly. Inspect what the parser is doing under the hood.

It also works as a one-shot tool from the shell:

<details>
  <summary>Click to see the oneshot demo</summary>
  <br>
  <img src="docs/oneshot.gif" width="600" alt="oneshot demo">
</details>

## Features

- Interactive REPL loop (read line, render, quit on Ctrl+D)
- Pretty error printing (no panics)
- Commands: /help, /quit, /tags, /style, /prefix, /show, /theme, /load
- One-shot mode via CLI argument
- Theme loading from `theme.frb.toml`

Coming soon: tab completion for tag names, a /colors command for
browsing the ANSI 256 palette, history persistence.

## Quick Start

Run the REPL:
```bash
thuli
```

One-shot mode:
```bash
thuli '[bold cyan]hello'
```

Requires Rust 2024 edition (Rust 1.85+).

## License

Licensed under either of [MIT License](LICENSE-MIT) or
[Apache License, Version 2.0](LICENSE-APACHE) at your option.

Cheers, RazkarStudio.
© 2026 RazkarStudio. All rights reserved.