30 releases (19 breaking)
0.19.2 | Mar 29, 2024 |
---|---|
0.19.1 | Jun 29, 2023 |
0.18.0 | Jun 12, 2023 |
0.17.0 | Mar 7, 2023 |
0.2.4 | Mar 10, 2021 |
#164 in Operating systems
75 downloads per month
Used in 2 crates
250KB
6K
SLoC
This repository hosts a project to define a text format called Basic Text, a subset of Unicode that focuses on text: it excludes unprintable control characters, characters which depend on out-of-band information to interpret, non-characters, deprecated characters, and more, while aiming to preserve everything of practical use to plain text and formats built on top of it. See the Book for more information.
It also includes a Rust crate which aims to implement the Basic Text format, providing several utilities:
-
TextString
andTextStr
are similar to the standard library'sString
andstr
, but use the Basic Text string format, along with atext!("...")
macro for Basic Text string literals. -
TextReader
andTextWriter
are input and output streams which use the Basic Text stream format. On input, content is converted in a way which is lossy with respect to the original bytestream. Output uses the "strict" conversion method, in which invalid content is diagnosed with errors. -
BufReadText
, an extension trait that addstext_lines
andtext_lines_lossy
toBufRead
implementations for reading lines from an input stream asBasicText
strings. -
TextDuplexer
is aDuplex
for reading and writing on an interactive stream using Basic Text.
The code here is usable, and implements everything in the Basic Text spec, but is not very mature or optimized yet.
Dependencies
~1–10MB
~135K SLoC