Ce qu’il vous faut

Kaivalya Editor est un programme Rust dont l’interface est rendue par le GPU : il lui faut une chaîne de compilation Rust et les fichiers de développement de Wayland, xkbcommon et Vulkan. Sous Ubuntu 24.04 :

sudo apt install cmake clang mold vulkan-tools libwayland-dev \
  libxkbcommon-dev libxkbcommon-x11-dev libvulkan-dev libasound2-dev

Installez Rust avec rustup. La version est fixée par rust-toolchain.toml, et rustup la télécharge pour vous.

mold est un éditeur de liens plus rapide, et c’est clang qui l’appelle. Les deux sont utilisés via .cargo/config.toml ; la compilation fonctionne sans eux si vous supprimez ce fichier, simplement plus lentement.

Compiler et lancer

cargo run --release -- chemin/vers/fichier.md

L’éditeur accepte au plus un fichier. Sans fichier, il ouvre un document vide.

Les vérifications

Il y en a cinq, et la CI les lance toutes à chaque envoi. make check les exécute dans le même ordre :

cargo fmt --all --check
cargo clippy --workspace --all-targets --locked -- -D warnings
RUSTDOCFLAGS="-D warnings" cargo doc --workspace --locked --no-deps --document-private-items
cargo test --workspace --locked
cargo run --release --locked -p kve-bench

La dernière est un contrôle de performance, pas un simple rapport : elle se termine en erreur dès qu’une mesure dépasse son budget. Ce que couvre chaque vérification, et les cibles du Makefile, sont détaillés dans la Référence technique ; les modifications les plus courantes de ce code sont décrites dans les Guides pratiques.

Pourquoi --locked

Sans --locked, Cargo est libre de choisir une version du framework graphique plus récente que celle sur laquelle les mesures de performance ont été faites — ce qui change le terrain sous une mesure, sans prévenir. Cargo.lock est versionné et c’est lui qui fixe les versions.

Ne lancez jamais un cargo update sans argument. Mettre à jour une dépendance est un acte délibéré : on la met à jour, on relance les mesures de performance, et on consigne les chiffres.