#unicode #editor #text-processing

kaolinite

A crate to assist in the creation of TUI text editors

23 unstable releases (8 breaking)

0.9.5 Sep 8, 2024
0.8.1 Jul 16, 2024
0.7.0 Feb 25, 2024
0.6.1 Aug 30, 2022
0.5.0 Jul 9, 2021

#964 in Command-line interface

MIT license

1.5MB
10K SLoC


Markdownify
Kaolinite

A crate to assist in the creation of TUI text editors.

Key FeaturesHow To UseCreditsLicense

Key Features

  • Buffers files to prevent hold ups when opening and saving your files
  • Unicode safe - supports double width characters on the terminal
  • Handles scrolling and cursor - No more janky cursor incrementing code
  • Dynamically handles formatting of files - Determines style on read, keeps that style on write
    • Unix and DOS line endings
    • Tabs & Spaces
  • Includes searching & replacing features
  • Line number formatting utility
  • File type recognition
  • Advanced moving abilities (by page, words, characters)
  • Includes undo & redo functionality
  • Lightweight - very few dependencies for quick compilation of your editor
  • Front-end agnostic - Feel free to use Crossterm or Termion or anything else!

How To Use

You'll need to have a modern Rust toolchain. Click here if you need that.

# If you already have a project set up, ignore this step
$ cargo new [app name]
$ cd [app name]

# Simplest way to add to your project is using cargo-edit
# You can also manually add it into your Cargo.toml if you wish
$ cargo install cargo-edit
$ cargo add kaolinite

# You should be ready to use the crate now!

If you require documentation, please consult https://docs.rs/kaolinite. You'll find detailed API explainations and examples.

Don't hesitate to contact me (see bottom of readme) if you require assistance.

Credits

This software uses the following open source crates:

License

MIT


Github @curlpipe  ·  Discord curlpipe#1496  ·  Crates.io curlpipe

Dependencies

~3.5–5MB
~84K SLoC