abi_stable_crates
xi-editor
abi_stable_crates | xi-editor | |
---|---|---|
7 | 42 | |
491 | 19,808 | |
- | 0.0% | |
4.9 | 2.6 | |
7 months ago | about 2 months ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
abi_stable_crates
-
how can I add dynamic loading to do "plugins" for my Rust app?
I've used abi_stable_crates
-
Announcing `stabby`: a stable ABI for Rust with niche optimizations and much more!
It's possible, I even made a PR for closures a few months ago. However, for some odd reason the CI failed to build it, and months later I tried to update my PR only to find that master didn't build anymore on my machine.
-
CGlue 0.2 is out! Dynamically loadable traits in Rust, C and C++
Integration with /u/azure1992's abi_stable crate for API/ABI mismatch checking (layout_checks feature). Note that CGlue will not work with crates.io version just yet, as a certain patch needs to be published first. But in the meantime, this can be solved by specifying the upstream repo in cargo patch section.
-
What are the options of distributing a closed-source library in Rust?
There’s a crate for that: abi_stable
-
Plugin based architecture in Rust
Unfortunately, just before publishing this article I found out, that Rust does not guarante a stable ABI, not even between two separate runs of the compiler with the same rustc version. This measn that plugins might suddenly not be compatible anymore for no obvious reasons. Even though I never experienced any problems during development (neither on windows, linux nor mac), I'd recommend you to just share datastructures with #[repr(C)] attribute or use types from abi_stable_crates. A stable ABI will be shipped with minfac:0.0.2, as datastructures in minfac:0.0.1 don't have the #[repr(C)] attribute yet. A discussion about having a stable Rust ABI can be found in the internals forum. If anybody knows, why compiling with the compiler option -C prefer-dynamic is supported, I'd be interested to know, as I can't see how this problem is solved there.
-
Rust doesn’t support default function arguments. Or does it?
Here’s abi_stable_crates, enabling Rust API to be exported with a stable ABI
-
Is there a way to build a plugin system for rust code with dynamic libraries ?
This crate may also be of interest: https://github.com/rodrimati1992/abi_stable_crates/
xi-editor
-
Zed is now open source
Was confused until I realised I'd confused Zed, with Xi[1] which is also rust based, and which incidentally has a frontend called "Xim"..
Also there's a wiki-editor (like Tomboy[2]) called "Zim"[3].
[1] https://github.com/xi-editor/xi-editor
-
Text Editor: Data Structures
Project site linked from the GitHub[0] is https://xi-editor.io. Linked doc is a mirror of this[1], which was afaik originally written by Raph Linus.
[0]: https://github.com/xi-editor/xi-editor
[1]: https://xi-editor.io/docs/rope_science_01.html
-
The Absolute Minimum Every Software Developer Must Know About Unicode in 2023
> thing that gets deleted when you hit backspace
Is there a canonical source for this part, by the way? Xi copied the logic from Android[1] (as per the issue you linked downthread), and I vaguely remember that CLDR had something to say about this too, but I don’t know if there’s any sort of consensus here that’s actually written down anywhere.
[1] https://github.com/xi-editor/xi-editor/pull/837
- Google abandons work to move Assistant smart speakers to Fuchsia
-
What's is a rusty way to implement sharable trees?
This is pretty much how copy-on-write ropes work. Check out xi-rope, Ropey or crop, they're all built using B-trees and implement the behavior you described.
-
Helix (a Kakoune / Neovim inspired editor) 23.03
Helix is awesome, though once Lapce (spiritual successor to Xi editor) gets the Helix/Kakoune editing model, I may have to jump ship
-
Editors written in rust
Home (xi-editor.io)
-
How to share resources between instances of program?
Maybe take a look at the Xi editor (https://xi-editor.io/) (written in rust I think) that uses a client server architecture.
-
Suitable Rust GUI Library for Code Editor?
Have a look at what Lapce uses. The editor is coming along nicely, and iirc, they use the Xi editor as a plug-in.
-
CRDTs make multiplayer text editing part of Zed's DNA
Raph Levien posted a retrospective about using CRDT’s for collaborative editing in xi-editor here [1]. His conclusion is
“I come to the conclusion that the CRDT is not pulling its (considerable) weight. When I think about a future evolution of xi-editor, I see a much brighter future with a simpler, largely synchronous model, that still of course has enough revision tracking to get good results with asynchronous peers like the language server.”
[1]https://github.com/xi-editor/xi-editor/issues/1187#issuecomm...
What are some alternatives?
interoptopus - The polyglot bindings generator for your library (C#, C, Python, …) 🐙
helix - A post-modern modal text editor.
minfac - Lightweight Inversion Of Control
alacritty - A cross-platform, OpenGL terminal emulator.
memflow - physical memory introspection framework
iota - A terminal-based text editor written in Rust
rust-default-arguments-benchmark - A simple benchmark to evaluate the performance impact of using structs that implement Default as function arguments.
lapce - Lightning-fast and Powerful Code Editor written in Rust
ctti - Rust compile-time type information experiment
Servo - Servo, the embeddable, independent, memory-safe, modular, parallel web rendering engine
wasmer - 🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
kakoune.el - A very simple simulation of the kakoune editor inside of emacs.