Kaivalya Editor a commencé comme un éditeur markdown pour les notes d’une seule personne. La version 0.1 ouvrait un fichier et l’affichait mis en forme. La 1.0.0 est l’éditeur dans lequel cette personne travaille désormais toute la journée : ses notes, les tâches qu’elles contiennent, le code qui les accompagne, les tableaux blancs qui les relient, et les journaux de ce qui tourne. Il reste petit, il reste rapide sur un portable de 2017, et il n’installe toujours rien dans votre dos.

Les Premiers pas en font le tour en dix minutes. Voici ce qu’il contient, et ce que sa construction nous a appris.

Un projet, pas un fichier

Ouvrez un dossier et c’est un projet : un explorateur, un sélecteur qui trouve un fichier à partir de trois lettres, la recherche et le remplacement dans tous les fichiers, et une session qui rouvre ce qui était ouvert. Un projet peut avoir ses propres réglages dans .kaivalya/settings.toml — seulement ce qui diffère des vôtres — et des règles de dossier qui donnent aux notes d’un dossier leur propre feuille de style.

Deux aperçus, pour deux moments

L’aperçu en direct se place à côté du texte, dans le thème de l’éditeur, et suit chaque frappe : c’est avec lui qu’on écrit. L’aperçu complet est une fenêtre qui affiche la note comme le ferait un navigateur — votre feuille de style telle que vous l’avez écrite, les formules composées, les tableaux et les diagrammes mermaid dessinés —, pour le moment où la question devient à quoi cela ressemblera-t-il pour quelqu’un d’autre. C’est un second programme, auquel l’éditeur envoie des pages entières, et il n’occupe de la mémoire que tant qu’il est ouvert.

Ce qui mérite sa propre fenêtre

Un tableau se modifie dans une grille, cellule par cellule, et se réécrit aligné. Une formule se construit dans une fenêtre qui la dessine pendant la saisie. Les caractères, les émojis et les couleurs ont chacun leur sélecteur. Tout cela est à une / de distance : tapez / sur une ligne, et une palette propose ce qui peut s’y écrire — un tableau, une formule, une date, un lien vers une autre note, un modèle.

Git, tâches et rétroliens

Le panneau git montre ce qui a changé, les différences d’un fichier, et permet de committer ; la récupération, l’envoi et le changement de branche y sont aussi. Chaque TODO de vos fichiers et chaque - [ ] non coché sont réunis dans un panneau, et todo.md devient un tableau des tâches dont on fait glisser les cartes. Une note liste les notes qui renvoient vers elle. Chaque enregistrement conserve une version du fichier sur votre machine, dans son historique local.

Les tableaux blancs, réécrits

Un fichier .canvas s’ouvre comme un tableau blanc : des cartes en markdown, des notes glissées depuis l’explorateur, des images, des liens, des groupes et des flèches, de n’importe quelle couleur. C’est le format d’Obsidian, JSON Canvas : un tableau créé ici s’ouvre là-bas. Il a d’abord été construit sur le tableau d’un autre projet, puis réécrit pour devenir celui de l’éditeur, dessiné directement à partir du modèle du fichier : chaque modification est réécrite comme Obsidian l’écrit, et un champ que l’éditeur ne connaît pas est conservé. Sur un tableau de 2 000 cartes, un clic est traité en un quart de milliseconde.

Les journaux

Un fichier journal s’ouvre dans une vue journal qui colore les niveaux, filtre pendant la saisie et par plage de dates, saute à une heure donnée, suit un fichier qui grossit, et ouvre un fichier trop gros pour n’importe quel éditeur — un demi-million de lignes, lues par morceaux.

Mesuré, pas espéré

Chaque opération qui a un budget est mesurée à chaque modification par un banc de mesure qui fait échouer la compilation quand un budget est dépassé : 16 millisecondes pour tout ce qui se fait dans une image, 4 pour le travail d’une frappe. Rien que la semaine dernière, il a repéré deux problèmes avant que quiconque les remarque : un clic sur un tableau blanc qui atteignait dix millisecondes, et une recherche des TODO qu’une seule expression régulière avait rendue trente fois plus lente.

En deux langues

Chaque mot de l’interface, du fichier de réglages et de la documentation existe en français et en anglais, chacun rédigé dans sa propre langue. Le fichier de réglages explique chaque option dans la langue que vous lisez.

L’installer

Sous Ubuntu 24.04 et suivantes, téléchargez le .deb de la version, puis sudo apt install ./kaivalya-editor_1.0.0_amd64.deb. Ailleurs, l’archive de la version contient un install.sh, et les sources se compilent avec make install. Installer l’éditeur indique ce dont chaque partie facultative a besoin — git, un correcteur orthographique et ses dictionnaires, une police.

Et ensuite

Les références et les citations — les notes de bas de page, et un sélecteur de citations sur une bibliographie — sont la prochaine version. Un lecteur de PDF viendra après.

La compilation depuis les sources est décrite pour les développeurs.