Zig Project Action / Lint, Spell-check and test zig project (push) Has been cancelled
27 lines
894 B
Markdown
27 lines
894 B
Markdown
# Rope
|
|
|
|
Implementation of a [rope datastructure](https://en.wikipedia.org/wiki/Rope_(data_structure)) in zig.
|
|
|
|
Based on the MIT-Licensed implementation of noahbald: https://github.com/noahbald/noe
|
|
|
|
Please check out his excellent [write up](https://www.noahwbaldwin.me/blogs/writing-an-editor) about the implementation of an editor in zig.
|
|
|
|
Another great resource for ropes has been created by [Zed](https://zed.dev/blog/zed-decoded-rope-sumtree), it is worth reading to further understand the implementation details of this implementation.
|
|
|
|
## Usage
|
|
|
|
To add or update `rope` as a dependency in your project run the following command:
|
|
|
|
```sh
|
|
zig fetch --save git+https://gitea.yves-biener.de/yves-biener/rope
|
|
```
|
|
|
|
Add the dependency to your module as follows in your *build.zig*:
|
|
|
|
```zig
|
|
const zterm: *Dependency = b.dependency("rope", .{
|
|
.target = target,
|
|
.optimize = optimize,
|
|
});
|
|
```
|