Kisa
Kisa est une éditeur de texte piratable et incluse des batteries du Nouveau Monde.
Le référentiel domestique est sur sourcehut mais il y a aussi un miroir sur github.
Kisa est à son stade précoce et elle n'est pas utilisable pour le moment. Voir la feuille de route pour les progrès actuels.
Il y a un ensemble croissant de documents de conception, méfiez-vous que la plupart ne sont pas implémentés.
But
Moi, Greenfork, celui qui a commencé ce projet, aimerait avoir un éditeur de code suprême. Je veux modifier le code avec plaisir, je veux savoir que chaque fois que je pense que quelque chose ne va pas - j'ai assez de pouvoir pour le réparer, mais avec une grande puissance vient une grande responsabilité. Je manquerai ce pouvoir avec prudence et j'encouragerai mes pairs et les permettrai de suivre mes étapes et finalement de les laisser me conduire au lieu d'être conduits simplement.
Zen
- Le programmeur doit être capable de perfectionner leur outil.
- Le choix est le fardeau.
- Le choix est la liberté.
Objectifs
- Fournir un éditeur de code puissant et flexible - évident mais mérite d'être dit, nous ne devons pas fournir de moins que cela.
- Identifier les flux de travail courants et les mettre en pierre - l'édition de texte est devenue assez sophistiquée de nos jours, nous avons déjà découvert beaucoup de capacités d'édition. Il est maintenant temps de les rendre faciles à utiliser et entièrement intégrés au reste des fonctionnalités de l'éditeur, et non à compter sur des plugins tiers pour imiter les fonctionnalités nécessaires.
- Adhérer à la philosophie hybride UNIX / Apple - les programmes doivent être en mesure de communiquer entre eux, l'éditeur doit rendre possible des intégrations avec d'autres outils, c'est de la philosophie UNIX. Dans le même temps, l'éditeur doit être construit à partir de la mise à la terre et avoir le contrôle total de toutes ses fonctionnalités principales pour fournir une façon unique et uniforme de faire, cela provient de la philosophie Apple.
- Rendez-le infiniment extensible par conception, aucune hypothèse dure - les seuls types de fonctionnalités inmplémentables sont ceux qui n'étaient pas pris en compte dès le début et obtenus par des décisions de conception qui sont entrelacées avec le reste de l'éditeur, donc le changer n'est pas possible. La solution est simple - couches et couches d'abstractions, les hypothèses sont strictement réduites par un minimum par une réflexion approfondie sur la conception publique de l'API de chaque couche.
- Make It Hackable - Je crois qu'il existe plusieurs points clés pour rendre un éditeur piratable: conception intéressante, code propre, documentation de développement étendue, attitude amicale envers tous ceux qui essaient.
Communication
- ~GreenFork/[email protected] - Liste de diffusion Readonly pour des annonces rares concernant ce projet, Web Archive. Abonnez-vous à cette liste en envoyant un e-mail à ~GreenFork/[email protected].
- ~GreenFork/[email protected] - Liste de diffusion pour les discussions et l'envoi de correctifs, Archive Web
- [email protected] - mon adresse e-mail personnelle
- Discord - Expérience de chat en temps réel
- Twitch - Streams occasionnels, y compris le développement de l'éditeur
- YouTube - Enregistrements de flux passés et d'autres vidéos connexes
Soyez gentil et compréhensif pour tout le monde.
Êtes-vous nouveau dans les listes de diffusion? Veuillez consulter ce tutoriel. Il y a aussi la vidéo de comparaison détaillée des demandes de traction par rapport aux correctifs.
Contributif
Les idées sont les bienvenues. À ce stade du projet, la tâche principale est de façonner sa conception et de fournir des implémentations de preuve de concept de ces idées. Il est peu probable que les contributions du code sans discussions précédentes soient acceptées, veuillez d'abord discuter de la conception. Les idées doivent être en ligne avec les objectifs et les valeurs actuels de cet éditeur. De nombreuses idées seront probablement rejetées car tous les objectifs et valeurs ne sont pas identifiés, mais néanmoins ils nous aideront à façonner l'éditeur.
Pour les discussions structurées, veuillez utiliser ~Greenfork/[email protected] Liste de diffusion.
Comment construire
Actuellement, il n'est pertinent que pour le développement, il n'y a pas d'éditeur de texte utilisable (pour l'instant).
Exigences:
- Zig Master, actuellement https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.3685+dae7aeb33.tar.xz
- git
$ git clone --recurse-submodules https://github.com/greenfork/kisa
$ cd kisa
$ zig build test
$ zig build run
Est-ce une tâche pour un simple mortel?
L'éditeur de code est un grand projet. J'ai l'habitude d'abandonner des projets, je me dérange modérément. Je ne suis pas religieux mais Dieu me donne de la force.
Dans l'interview sur Zig Showtime Andreas Kling, l'auteur de Serenityos, explique à quel point il est important de poser une seule brique à la fois. Essayons cela.