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

Overview


Markdownify
Kaolinite

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

Key FeaturesHow To UseCreditsLicense

Key Features

  • Well documented API - Examples and explainations are provided
  • 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
  • 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

You might also like...
Dip editor: Multi-platform Text editor purely written in Rust

dip editor Multi-platform Text editor purely written in Rust, supercharged by Bevy game engine and Dioxus UI framework. heavily in development Why Gam

Archeum - a minimalist text editor

Archeum About The Project Archeum is a minimalist text editor that is really usefull if you've been in the vim psychosis for to long. Reject plugins,

(An attempt to write) a modal text editor

kaka (An attempt to write) a modal text editor. NOTE: The project is very young and certainly not ready for use. Current project goals keymap and mode

IDE tools for writing pest grammars, using the Language Server Protocol for Visual Studio Code, Vim and other editors

Pest IDE Tools IDE support for Pest, via the LSP. This repository contains an implementation of the Language Server Protocol in Rust, for the Pest par

Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors!
Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors!

Oatmeal Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors! Overview In

Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other projects
Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other projects

Mercy 📚 Documentation Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other pro

Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other projects
Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other projects

Mercy 📚 Documentation Mercy is a public Rust crate created to assist with building cybersecurity frameworks, assessment tools, and numerous other pro

WriteForAll is a text file style checker, that compares text documents with editorial tips to make text better.

WriteForAll: tips to make text better WriteForAll is a text file style checker, that compares text documents with editorial tips to make text better.

A command-line tool collection to assist development written in RUST

dtool dtool is a command-line tool collection to assist development Table of Contents Description Usage Tips Installation Description Now dtool suppor

RustViz is a tool that generates interactive visualizations from simple Rust programs to assist users in better understanding the Rust Lifetime and Borrowing mechanism.
Codemod - Codemod is a tool/library to assist you with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention

Codemod - Codemod is a tool/library to assist you with large-scale codebase refactors that can be partially automated but still require human oversight and occasional intervention. Codemod was developed at Facebook and released as open source.

Goodname is a tool to assist you with cool naming of your methods and software

Goodname is a tool to assist you with cool naming of your methods and software. Given a brief description of your method or software, this tool enumerates name candidates forming subsequences of the description (i.e., abbreviation).

A collection of tools for i3 that assist in window, workspace and output operations.

i3-valet A collection of tools for i3 that assist in window, workspace and output operations. i3-valet can be run directly from the command line or as

A template for bootstrapping a Rust TUI application with tui-rs & crossterm
A template for bootstrapping a Rust TUI application with tui-rs & crossterm

rust-tui-template A template for bootstrapping a Rust TUI application with tui-rs & crossterm. tui-rs The library is based on the principle of immedia

Simple yet powerful multi-line text editor widget for tui-rs and ratatui
Simple yet powerful multi-line text editor widget for tui-rs and ratatui

tui-textarea tui-textarea is a simple yet powerful text editor widget like textarea in HTML for tui-rs and ratatui. Multi-line text editor can be ea

TUI (Text User Interface) - Get Instant feedback for your sh commands
TUI (Text User Interface) - Get Instant feedback for your sh commands

Bashtastic Visualizer TUI (Text User Interface) - Get Instant feedback for your sh commands. Explore and play with your queries 🚀. The idea of this p

Text Expression Runner – Readable and easy to use text expressions
Text Expression Runner – Readable and easy to use text expressions

ter - Text Expression Runner ter is a cli to run text expressions and perform basic text operations such as filtering, ignoring and replacing on the c

An implementation of Piet's text interface using cosmic-text

piet-cosmic-text Implements piet's Text interface using the cosmic-text crate. License piet-cosmic-text is free software: you can redistribute it and/

Compile-time creation of neural networks with Rust

GAMMA Compile-time creation of neural networks with Rust Description This is for now just a showcase project of what can be done with const generics i

Releases(0.6.1)
  • 0.6.1(Aug 30, 2022)

  • 0.6.0(Aug 30, 2022)

    This is a complete overhaul of kaolinite. This was needed in order to integrate file buffering, which couldn't be retrofitted despite my best attempts. This is a massive milestone in getting back to developing Ox. It is a stable back end with most of the core features that I'll need to get going.

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(Jul 9, 2021)

    [0.5.0] - 09/07/2021

    + Added undo and redo

    + Added insert and remove line commands to cactus

    ~ Changed several events to properly allow reversing of them

    ~ Fixed a few regex expressions for cactus syntax highlighting

    - Removed feature system, all are enabled by default

    Source code(tar.gz)
    Source code(zip)
  • 0.4.1(Jul 7, 2021)

  • 0.4.0(Jul 7, 2021)

    [0.4.0] - 08/07/2021

    + Added syntax highlighting helper feature

    + Added syntax highlighting using synoptic to cactus.

    + Added render_full method to render the entire document in display form

    ~ Changed API to remove unsafe code and pointer hell

    Source code(tar.gz)
    Source code(zip)
  • 0.3.2(Jul 6, 2021)

    [0.3.2] - 06/07/2021

    + Added alignment helper

    + Added status line formatting helper

    + Added line wrapping to cactus

    ~ Simplified cactus code

    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Jul 6, 2021)

  • 0.3.0(Jul 6, 2021)

    [0.3.0] - 06/07/2021

    + Added cactus: a editor to demonstrate kaolinite

    + Added support for accessing the line below the document

    + Added a method to generate line number text

    + Added support for tab rendering

    + Added methods for finding the next and previous word index

    + Added functions to help with display widths

    + Added file type lookup function to determine type from file extension

    ~ Fixed issues with removing

    ~ Fixed issues with splicing up

    ~ Used char indices instead of display indices

    ~ Fixed the EOI issues

    ~ Followed clippy lints

    Source code(tar.gz)
    Source code(zip)
  • 0.2.1(Jun 30, 2021)

  • 0.2.0(Jun 30, 2021)

    [0.2.0] - 30/06/2021

    ~ Text removal optimisation (~1.25x faster)

    - Only allowed inclusive and exclusive ranges in Row::remove to prevent spaghettification

    Source code(tar.gz)
    Source code(zip)
  • 0.1.5(Jun 30, 2021)

  • 0.1.4(Jun 30, 2021)

  • 0.1.3(Jun 29, 2021)

  • 0.1.2(Jun 29, 2021)

  • 0.1.1(Jun 29, 2021)

Owner
Hey! I'm curlpipe, a pro-privacy programmer and Void Linux user.
null
A terminal-based text editor written in Rust

Iota Iota is a terminal-based text-editor written in Rust. Here's what it looks like right now, editing itself. Motivation Iota was born out of my fru

Greg Chapple 1.6k Jan 8, 2023
A text editor in ≤1024 lines of code, written in Rust

Kibi: A text editor in ≤1024 lines of code, written in Rust A configurable text editor with UTF-8 support, incremental search, syntax highlighting, li

Ilaï Deutel 881 Dec 29, 2022
Aspiring vim-like text editor

Rim Rim is an aspiring Vim-like text editor written in Rust. Current state Rim is in an early prototype stage. This means that you can load, edit and

Mathias Hällman 557 Jan 2, 2023
An independent Rust text editor that runs in your terminal!

Ox editor Ox is a code editor that runs in your terminal. About The Project Ox is a code editor. It was written in Rust using ANSI escape sequences. I

null 2.9k Jan 2, 2023
An experimental next-generation Electron-based text editor

Attention: GitHub has decided not to move forward with any aspect of this project. We'll archive the repository in case anybody finds value here, but

Atom Archive 8.5k Dec 26, 2022
Web base text editor written in rust

Ultron Ultron is a web based monospace text-editor with syntax highlighting, completely written in rust. I wrote this code editor for my very specific

Jovansonlee Cesar 59 Aug 8, 2022
syntect is a syntax highlighting library for Rust that uses Sublime Text syntax definitions.

syntect is a syntax highlighting library for Rust that uses Sublime Text syntax definitions. It aims to be a good solution for any Rust project that needs syntax highlighting, including deep integration with text editors written in Rust.

Tristan Hume 1.5k Jan 8, 2023
ReVi is a cross-platform terminal based Vim inspired text editor.

ReVi Table Of Contents: About Usage Install Clone && Installing Development Q&A KeyBindings Roadmap Changelog About ReVi is a cross-platform terminal

null 31 Sep 21, 2022
Subtext is a text-based, block-oriented hypertext format.

Subtext: markup for note-taking Subtext is a text-based, block-oriented hypertext format. It is designed with note-taking in mind. It has a simple, pe

Gordon Brander 223 Dec 15, 2022
Ginkgo is a text editor built entirely in Rust

Ginkgo is a text editor built entirely in Rust. It supports cursor movements, CTRL commands, select vim commands, insert vs. normal modes, and more. Ginkgo is based on my text editor JED, which itself was based on the popular online editor Kilo.

James Asbury 12 Oct 15, 2022