Cette page décrit Calíope 1.5, la version que nous construisons en ce moment. La 1.4 est terminée et en cours d'examen par Apple, et la boutique propose aujourd'hui la 1.3 sur le Mac et la 1.2 sur iPad. Le changelog indique dans quelle version chaque fonction est arrivée.
Ajoute un bouton « Ouvrir dans Calíope » à chaque sujet. Ne fonctionne qu'avec l'app installée.
Lisez des fichiers .md, .sql, .json, .csv, .rtf et texte sans ouvrir d'éditeur.
Où le trouver : Espace de travail › Outils › Aperçu de fichiers
L'Aperçu de fichiers affiche le contenu d'un fichier local interprété selon son extension : le Markdown (.md) s'affiche comme un document, le SQL (.sql) avec coloration syntaxique et numéros de ligne, le JSON (.json) réindenté et coloré, le CSV (.csv, .tsv) en tableau, le texte enrichi (.rtf) comme un document, et le texte brut (.txt, .log) tel quel.
C'est un outil en lecture seule : il ne modifie rien, n'enregistre rien et n'exécute rien. Pour écrire et exécuter des requêtes, il y a l'Éditeur SQL ; pour les bases SQLite locales, l'Éditeur SQLite.
Il fonctionne sans connexion à un serveur et affiche un fichier à la fois, avec une liste de fichiers récents.
Choisissez un fichier sur le disque ou rouvrez-le depuis les récents.
Touchez Ouvrir… et choisissez n'importe quel fichier pris en charge : .md, .sql, .json, .csv, .tsv, .rtf, .txt ou .log. Le fichier est ajouté aux Récents, affichés sur l'écran d'accueil de l'outil, qui conserve les huit derniers.
Calíope conserve une autorisation persistante pour chaque récent : vous pouvez donc le rouvrir après avoir quitté l'app sans le rechercher. Si le fichier est déplacé ou supprimé, le récent ne l'ouvre plus et il suffit de le choisir à nouveau avec Ouvrir….
Fermer libère le fichier et arrête la surveillance des modifications.
Mots-clés : ouvrir, récents, fichier, fermer, autorisations, bac à sable
Titres, listes, tableaux, citations et blocs de code.
Le rendu couvre les titres de # à ###### ; les paragraphes en gras, italique, code en ligne, barré et liens ; les listes numérotées ou non, avec imbrication ; les cases à cocher - [ ] et - [x] ; les citations > ; les filets horizontaux ; les tableaux à barres verticales ; et les blocs de code délimités. Quand un bloc porte l'étiquette sql, il est coloré comme un fichier .sql.
Volontairement exclus : les images ne sont jamais téléchargées — leur texte alternatif est affiché à la place —, le HTML intégré n'est pas interprété et l'en-tête front matter est ignoré.
Les titres sont annoncés comme des titres à VoiceOver et tout le texte suit la taille de texte dynamique.
Les fichiers de texte enrichi sont lus comme un document, structure comprise.
Un fichier .rtf — celui qu'écrivent TextEdit, Word ou Pages à l'exportation — s'affiche comme un document et non comme du balisage. Sont conservés les titres, les listes avec leur imbrication et leur numérotation, le gras, l'italique, le souligné, le barré, les liens, l'alignement des paragraphes et les passages en police à chasse fixe.
Ce qui n'est pas appliqué, c'est la typographie du document : ni la police, ni les tailles en points, ni les couleurs. C'est Calíope qui les fournit, comme pour le Markdown, afin que le texte suive la taille de texte dynamique et se lise aussi bien en thème clair qu'en thème sombre. Un rappel figure en bas tant que le fichier est ouvert.
Les niveaux de titre se déduisent de la taille de police relative au document lui-même : la plus grande donne le niveau 1, la suivante le niveau 2, et ainsi de suite. Un RTF ne déclare aucune hiérarchie, c'est donc tout ce dont on dispose.
Hors périmètre : les paquets .rtfd ne s'ouvrent pas — c'est un dossier, pas un fichier — et les images et objets incorporés ne sont pas affichés ; si le document en contient, leur nombre est indiqué en bas.
Mots-clés : rtf, texte enrichi, richtext, document, textedit, word, pages, mise en forme, gras, italique
Coloration syntaxique et numéros de ligne, sans exécution.
Les fichiers .sql s'affichent en police à chasse fixe, avec numéros de ligne et coloration syntaxique : requête, définition de schéma, contrôle, fonctions, types, fenêtrage et procédural, plus les littéraux de texte, les nombres, les commentaires --, # et /* … */, et les identifiants entre accents graves.
Il n'y a pas de bouton d'exécution, et c'est voulu : l'aperçu n'ouvre jamais de connexion. Pour exécuter le contenu, ouvrez-le dans l'Éditeur SQL.
Au-delà de 500 Ko, la coloration est désactivée et le fichier s'affiche en texte brut ; une note en bas le signale.
JSON réindenté, CSV en tableau, journaux tels quels.
Le JSON (.json) est réindenté à deux espaces par niveau et coloré : clés, texte, nombres et true/false/null. L'ordre des clés est celui du fichier — rien n'est réordonné — et si le contenu n'est pas du JSON valide, l'aperçu le signale en bas et affiche quand même ce qu'il a pu lire. Au-delà de 2 Mo, le formatage est désactivé et le fichier s'affiche tel qu'il est sur le disque.
Le CSV (.csv, .tsv) s'affiche en tableau, avec numéros de ligne et en-tête fixe. Le séparateur est détecté — virgule, point-virgule, tabulation ou barre verticale — et nommé en bas ; les champs entre guillemets, les guillemets doublés et les sauts de ligne à l'intérieur d'un champ sont respectés. Jusqu'à 10 000 lignes et 64 colonnes sont affichées, et toute coupe est signalée. Il ne trie ni ne filtre : c'est une visionneuse, pas une grille de données.
Le texte brut (.txt, .log et toute extension non reconnue) s'affiche tel quel, à chasse fixe et avec numéros de ligne. Les lignes de plus de 2 000 caractères sont coupées pour pouvoir être affichées, et la marque ↳ indique la suite de la ligne précédente.
Les objets et les tableaux se replient : le triangle dans la marge masque le conteneur et laisse un résumé —[…] ou {…}— avec le nombre de membres ; les deux boutons de l’en-tête replient et déplient tout le fichier. Les conteneurs vides tiennent déjà sur une seule ligne.
Occurrences surlignées, décompte et saut de l’une à l’autre.
⌘F ouvre la barre de recherche, comme le bouton loupe de l’en-tête. La recherche porte sur du texte brut, sans expressions régulières, et uniquement sur ce qui a été lu : si le fichier a été coupé à 5 Mo, l’avis du haut le dit et le reste n’a pas été examiné.
Les occurrences sont peintes par-dessus le contenu sans masquer la coloration syntaxique, et celle qui est sélectionnée prend un ton plus marqué. Entrée et ⌘G mènent à la suivante, ⇧⌘G à la précédente, et le décompte de la barre indique où tu en es. Le bouton Aa respecte la casse. Échap ferme la barre.
Cela fonctionne sur les cinq types : dans le CSV la cellule s’allume et sa ligne est signalée ; dans le Markdown, le texte à l’intérieur du bloc —dans les blocs de code l’occurrence est comptée et atteinte, mais pas allumée, car ils conservent leur propre coloration— ; et dans le JSON, une occurrence cachée dans un conteneur replié le déplie quand on y saute. Jusqu’à 5 000 occurrences sont comptées ; au-delà, la barre affiche un +.
La vue se met à jour toute seule quand le fichier change sur le disque.
Tant que le fichier est ouvert, Calíope surveille son chemin. Si vous l'enregistrez depuis un autre programme, la vue se met à jour toute seule — avec un indicateur Actualisé pendant quelques secondes — et conserve votre position de lecture. Vous pouvez aussi forcer la mise à jour avec Recharger.
La surveillance résiste à l'enregistrement atomique, celui que font TextEdit, Xcode ou vim en remplaçant le fichier au lieu de le réécrire : elle continue de rafraîchir après le deuxième et le troisième enregistrement.
Si le fichier disparaît, l'outil le signale sans en faire une erreur : supprimer un fichier n'est pas une panne.
Limites : d'un gros fichier, seuls les 5 premiers Mo sont lus — l'en-tête indique ce qui est affiché —, la coloration SQL est désactivée au-delà de 500 Ko, le formatage JSON au-delà de 2 Mo, et d'un CSV sont affichées jusqu'à 10 000 lignes et 64 colonnes. Toute coupe est signalée en bas de la vue.
Mots-clés : mettre à jour, rafraîchir, recharger, modifications, taille, limite, 5 mo