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.