@@ 1,13 1,13 @@
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.
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
- 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.