~hime/protochat

977f78faff8d130d828d1c0695118f23cb8213f8 — drbawb a month ago 3d896ca master
(repo) update readme to mention linetest crate
1 files changed, 18 insertions(+), 5 deletions(-)

M README.md
M README.md => README.md +18 -5
@@ 1,13 1,13 @@
smolboi
protochat
=======

This is a prototype of a chat server written in Rust using async I/O,
driven by the `smol` async runtime. It also contains a sample client
for testing & debugging.
`smolboi` is a prototype of a chat server written in Rust using async 
I/O, driven by the `smol` async runtime. It also contains a sample 
client, `linetest`, which is useful for testing & debugging.

# Building

1. Download the [rust toolchain.][!rust] for your operating system.
1. Download the [rust toolchain][!rust] for your operating system.
2. Run `cargo build` in the root of this workspace to build all
   crates within the workspace simultaneously.
3. Run `cargo run --bin server` to start the server on localhost.


@@ 51,3 51,16 @@ are listed in the enumeration, types will be encoded as follows:
  will represent the number of elements in the array. All arrays will be
  heterogeneous: and contain only the objects described above.

# Terminal Library

The `linetest` crate contains basic line editing functionality, as well as a 
scrollable line-oriented buffer. This client is cross-platform, w/ the low-level
terminal handling provided by the `crossterm` crate. Current functionality
includes:

- Line navigation (Home/End, PgUp/PgDown, etc.)
- Ability to move the cursor (Left, Right)
- Ability to insert text in the middle of a line
- Responsive to terminal resize events
- The span always remains centered around the cursor, even in the face
  of resize events/cursor mainpulation.