À propos du projet
Arranger est un moteur de texte riche et un écosystème UI déclaratifs open-source pour Compose Multiplatform. Le README le positionne comme un framework fondamental pour créer des expériences d'édition de texte complètes sur Compose, comparable par son rôle à ProseMirror ou Lexical. Il propose nativement la mise en forme de paragraphes, des stratégies dynamiques de touche Entrée, l'interrogation sémantique d'attributs, un défaire/refaire atomique, et des conversions Markdown/WYSIWYG à venir. Le projet est explicitement marqué comme étant en cours de développement : les API sont instables et peuvent changer sans préavis ; les commentaires, demandes de fonctionnalités et rapports de bugs sont les bienvenus via les GitHub Issues.
Support plateforme : Android API Level 26+, JVM Desktop sur macOS, Windows et Linux, iOS, et Web via WasmJs. Les exigences incluent Kotlin 2.4.10+. Arranger est publié sur Maven Central sous dev.mkeeda.arranger ; les artefacts comprennent arranger-richtext-editor, arranger-richtext, arranger-richtext-markdown, arranger-richtext-html et arranger-richtext-editor-material3 pour la résolution de styles Material 3.
Les capacités incluent des attributs personnalisés sûrs type tels que SpanStyle et des clés de domaine comme Mention, Hashtag et LinkKey ; des comportements d'éditeur de haut niveau couvrant titres, citations, alignements, listes à puces et numérotées ; un DSL de mutation déclaratif pour des opérations atomiques de texte et de formatage ; des Runs sémantiques pour itérer, rechercher et modifier en lot des portions partageant les mêmes attributs ; et des convertisseurs d'import-export Markdown/HTML entre RichString et ces formats. L'intégration Compose sépare RichTextState (sans interface) du rendu UI RichTextEditor sur les cibles prises en charge.
Les exemples d'éditeur couvrent la frappe dynamique qui conserve les segments existants, la mise en forme avancée de paragraphes, les listes à puces et numérotées avec marqueurs automatiques et indentation, un custom ListMarkerResolver, et des options EnterKeyStrategy : InheritParagraphStrategy, ListEnterStrategy et HeadingEnterStrategy. Les hyperliens utilisent LinkKey avec un style automatique et la navigation via LocalUriHandler, ainsi que UrlParser et detectAndApplyLinks pour la création automatique de liens. Les attributs personnalisés peuvent être mappés aux styles Compose via AttributeStyleResolver. La recherche et l'édition en lot utilisent rangesOf, editAll et runs(key) ou runs avec un prédicat. Les mutations comme insert, delete et replace s'exécutent dans RichTextState.edit avec un décalage automatique des segments.
Utilisations potentielles : édition de texte riche, prise de notes, édition de documents ou interfaces de messagerie construites avec Compose Multiplatform. Le README inclut des extraits d'installation pour Kotlin Multiplatform commonMain et les projets Android uniquement, ainsi que des composable示例 et des images de démonstration. Aucune déclaration de performance ni benchmark n'est fourni dans le README.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.