Diese Seite beschreibt Calíope 1.8, die Version, die ich gerade baue. Die 1.7 ist im App Store für Mac, iPad, iPhone, Apple Watch, Apple TV und Apple Vision Pro. Das Changelog sagt, in welcher Version jede Funktion kam.

Fügt jedem Thema einen Button „In Calíope öffnen“ hinzu. Funktioniert nur mit installierter App.

Dateivorschau

Dateivorschau

Lies .md-, .sql-, .json-, .csv-, .rtf- und Textdateien, ohne einen Editor zu öffnen.

Wo es zu finden ist: Workspace › Werkzeuge › Dateivorschau

Die Dateivorschau zeigt den Inhalt einer lokalen Datei, ausgewertet nach ihrer Endung: Markdown (.md) wird als Dokument dargestellt, SQL (.sql) mit Syntaxhervorhebung und Zeilennummern, JSON (.json) neu eingerückt und farbig, CSV (.csv, .tsv) als Tabelle, formatierter Text (.rtf) als Dokument, und reiner Text (.txt, .log) unverändert.

Sie ist ein Werkzeug nur zum Lesen: Sie bearbeitet nichts, speichert nichts und führt nichts aus. Zum Schreiben und Ausführen von Abfragen gibt es den SQL-Editor, für lokale SQLite-Datenbanken den SQLite-Editor.

Sie funktioniert ohne Verbindung zu einem Server und zeigt eine Datei nach der anderen, mit einer Liste der zuletzt verwendeten.

Stichwörter: vorschau, datei, markdown, md, sql, json, csv, protokoll, lesen, betrachter, nur lesen

Eine Datei öffnen und zu den zuletzt verwendeten zurückkehren

Wähle eine Datei von der Festplatte oder öffne sie erneut aus der Liste.

Drück auf Öffnen… und wähle eine unterstützte Datei: .md, .sql, .json, .csv, .tsv, .rtf, .txt oder .log. Sie wird zu Zuletzt verwendet hinzugefügt, das auf dem Startbildschirm des Werkzeugs erscheint und die letzten acht behält.

Calíope merkt sich für jede dieser Dateien eine dauerhafte Berechtigung, sodass du sie nach dem Beenden der App erneut öffnen kannst, ohne sie wieder zu suchen. Wird die Datei verschoben oder gelöscht, öffnet der Eintrag sie nicht mehr und du wählst sie einfach erneut mit Öffnen….

Schließen gibt die Datei frei und beendet die Überwachung auf Änderungen.

Auf dem Mac zeigt Übersicht — die Taste mit dem Auge oder die Leertaste — die Datei im Betrachter des Systems, der auch öffnet, was die Vorschau nicht auswertet: PDFs, Bilder, Office-Dokumente.

Du kannst die Datei auch von außerhalb von Calíope öffnen. Auf dem Mac im Finder mit Öffnen mit › Calíope oder per Doppelklick, wenn Calíope die Standard-App für diesen Dateityp ist. Auf iPad und iPhone, indem du sie in der Dateien-App teilst und Calíope wählst. Eine so geöffnete .sql-Datei landet im SQL-Editor, nicht hier, und eine SQLite-, DuckDB- oder Parquet-Datei im SQLite-Editor oder im DuckDB-Editor. Bietet die Sitzung vor dir dieses Werkzeug nicht an, öffnet sich die Datei in Ohne Verbindung öffnen.

Stichwörter: öffnen, zuletzt verwendet, datei, schließen, berechtigungen, sandbox

Was vom Markdown dargestellt wird

Überschriften, Listen, Tabellen, Zitate und Codeblöcke.

Dargestellt werden Überschriften von # bis ######; Absätze mit Fett, Kursiv, Inline-Code, Durchgestrichen und Links; nummerierte und unnummerierte Listen samt Verschachtelung; Checklisten - [ ] und - [x]; Zitate >; horizontale Linien; Pipe-Tabellen; und Codeblöcke mit Zaun. Trägt ein Block die Kennzeichnung sql, wird er wie eine .sql-Datei hervorgehoben.

Bewusst ausgelassen: Bilder werden nie geladen — stattdessen erscheint ihr Alternativtext —, eingebettetes HTML wird nicht interpretiert und der Front Matter am Anfang wird übersprungen.

Überschriften werden VoiceOver als Überschriften gemeldet, und der gesamte Text skaliert mit der dynamischen Schriftgröße.

Stichwörter: markdown, md, überschriften, listen, tabellen, bilder, code

Ein RTF-Dokument ansehen

Rich-Text-Dateien werden als Dokument gelesen, mit ihrer Struktur.

Eine .rtf-Datei — das, was TextEdit, Word oder Pages beim Exportieren schreiben — wird als Dokument angezeigt und nicht als Markup. Erhalten bleiben Überschriften, Listen mit ihrer Verschachtelung und Nummerierung, Fett, Kursiv, Unterstreichung, Durchstreichung, Links, die Absatzausrichtung und Abschnitte in dicktengleicher Schrift.

Nicht übernommen wird die Typografie des Dokuments: weder die Schriftart noch die Punktgrößen noch die Farben. Die stellt Calíope, genau wie beim Markdown, damit der Text mit der dynamischen Schriftgröße skaliert und im hellen wie im dunklen Erscheinungsbild gut lesbar bleibt. Am Fuß steht ein Hinweis darauf, solange die Datei geöffnet ist.

Die Überschriftenebenen werden aus der Schriftgröße relativ zum Dokument selbst abgeleitet: die größte ergibt Ebene 1, die nächste Ebene 2 und so weiter. Ein RTF erklärt nirgends eine Hierarchie, mehr ist also nicht zu erfahren.

Nicht abgedeckt: .rtfd-Pakete werden nicht geöffnet — das ist ein Ordner, keine Datei — und eingebettete Bilder und Objekte werden nicht angezeigt; enthält das Dokument welche, wird ihre Anzahl am Fuß genannt.

Stichwörter: rtf, formatierter text, richtext, dokument, textedit, word, pages, formatierung, fett, kursiv

Eine SQL-Datei lesen, ohne sie auszuführen

Syntaxhervorhebung und Zeilennummern, ohne Ausführung.

.sql-Dateien erscheinen in Festbreitenschrift, mit Zeilennummern und Syntaxhervorhebung: Abfrage, Schemadefinition, Steuerung, Funktionen, Typen, Fensterfunktionen und prozedurale Sprache, dazu Textliterale, Zahlen, Kommentare --, # und /* … */ sowie Bezeichner in Backticks.

Es gibt keine Schaltfläche zum Ausführen, und das ist Absicht: die Vorschau öffnet nie eine Verbindung. Wenn du den Inhalt ausführen willst, öffne ihn im SQL-Editor.

Ab 500 KB wird die Hervorhebung abgeschaltet und die Datei als reiner Text angezeigt; ein Hinweis am Fuß sagt es.

Stichwörter: sql, hervorhebung, syntax, zeilen, ausführen, editor

JSON, CSV und reiner Text

JSON neu eingerückt, CSV als Tabelle, Protokolle unverändert.

JSON (.json) wird mit zwei Leerzeichen je Ebene neu eingerückt und farbig dargestellt: Schlüssel, Text, Zahlen und true/false/null. Die Reihenfolge der Schlüssel ist die der Datei — es wird nichts umsortiert —, und wenn der Inhalt kein gültiges JSON ist, sagt es die Vorschau am Fuß und zeigt trotzdem, was lesbar war. Ab 2 MB wird die Formatierung abgeschaltet und die Datei genau so angezeigt, wie sie auf der Festplatte steht.

CSV (.csv, .tsv) erscheint als Tabelle mit Zeilennummern und fester Kopfzeile. Das Trennzeichen wird erkannt — Komma, Semikolon, Tabulator oder senkrechter Strich — und am Fuß genannt; Felder in Anführungszeichen, doppelte Anführungszeichen und Zeilenumbrüche innerhalb eines Feldes werden respektiert. Gezeichnet werden bis zu 10 000 Zeilen und 64 Spalten, und jeder Zuschnitt wird gesagt. Es wird nicht sortiert und nicht gefiltert: Das ist ein Betrachter, kein Datenraster.

Reiner Text (.txt, .log und jede unbekannte Endung) wird unverändert angezeigt, in Festbreitenschrift und mit Zeilennummern. Zeilen mit mehr als 2 000 Zeichen werden zum Darstellen umgebrochen, und die Marke ↳ bedeutet die Fortsetzung der Zeile darüber.

Objekte und Arrays lassen sich einklappen: das Dreieck am Rand verbirgt den Container und lässt eine Zusammenfassung —[…] oder {…}— mit der Anzahl der Elemente zurück; die zwei Knöpfe in der Kopfzeile klappen die ganze Datei ein und aus. Leere Container stehen schon in einer einzigen Zeile.

Stichwörter: json, csv, tsv, protokoll, text, txt, tabelle, trennzeichen, einrueckung

Automatische Aktualisierung und Größengrenzen

Die Ansicht aktualisiert sich selbst, wenn sich die Datei ändert.

Solange die Datei geöffnet ist, überwacht Calíope ihren Pfad. Speicherst du sie aus einem anderen Programm, aktualisiert sich die Ansicht von selbst — mit einer Anzeige Aktualisiert für ein paar Sekunden — und behält deine Leseposition. Erzwingen kannst du es mit Neu laden.

Die Überwachung übersteht das atomare Speichern, das TextEdit, Xcode oder vim machen, indem sie die Datei ersetzen statt sie zu überschreiben: Sie aktualisiert auch nach dem zweiten und dritten Speichern weiter.

Verschwindet die Datei, sagt es das Werkzeug, ohne daraus einen Fehler zu machen: Eine Datei zu löschen ist keine Störung.

Grenzen: Von einer großen Datei werden die ersten 5 MB gelesen — oben steht, wie viel gezeigt wird —, die SQL-Hervorhebung wird ab 500 KB abgeschaltet, die JSON-Formatierung ab 2 MB, und von einer CSV werden bis zu 10 000 Zeilen und 64 Spalten gezeichnet. Jeder Zuschnitt wird am Fuß der Ansicht gesagt.

Stichwörter: aktualisieren, neu laden, änderungen, größe, grenze, 5 mb

Welche Kodierungen die Dateivorschau liest

Wie sie die Kodierung einer Textdatei erkennt, wo sie sie zeigt und was sie sagt, wenn sie eine nicht lesen kann.

Wo es zu finden ist: Workspace › Werkzeuge › Dateivorschau

Um eine Textdatei zu lesen, sucht die Dateivorschau zuerst nach einer Byte-Order-Markierung (UTF-8 oder UTF-16 in beiden Byte-Reihenfolgen). Fehlt sie, gilt die Datei als binär, wenn nahe am Anfang ein NUL-Byte steht; sonst versucht sie UTF-8, dann die Erkennung des Systems, dann Windows-1252 und ISO-8859-1, in dieser Reihenfolge. Die gefundene Kodierung erscheint in der Kopfzeile neben dem Dateityp.

Eine Binärdatei oder eine, die sie nicht dekodieren kann, zeigt „Binärdatei oder nicht unterstützte Textkodierung.“. Wird eine große Datei gekürzt, fällt der Schnitt auf eine saubere Zeichengrenze.

Stichwörter: Kodierung, UTF-8, UTF-16, Windows-1252, ISO-8859-1, binär

Übersicht für Datenbanken und Datendateien

Sieh dir die Tabellen und ersten Zeilen einer SQLite-, DuckDB- oder Parquet-Datei an, ohne Calíope zu öffnen.

Ist Calíope installiert, zeigt die Übersicht des Systems eine SQLite-Datenbank, eine DuckDB-Datenbank oder eine Parquet-Datei als Tabellen, ohne die App zu öffnen. Auf dem Mac wählst du die Datei im Finder aus und drückst die Leertaste. Auf iPad und iPhone tippst du sie in der Dateien-App an oder öffnest ihre Vorschau aus jeder App, die Dateien zeigt.

Oben stehen Name, Art und Größe der Datei und die Engine, die sie gelesen hat, dann die Liste der Tabellen, jede mit ihrer Zeilenzahl und ihren Spalten samt Typ. Darunter die ersten 20 Zeilen jeder Tabelle, eine nach der anderen; in einer Datenbank mit mehr als zehn Tabellen zeigen nur die ersten zehn Zeilen, der Rest bleibt in der Liste. Eine Parquet-Datei ist eine einzige Tabelle, mit den Typen, die DuckDB ableitet. In einer DuckDB-Datenbank stehen Views, Sequenzen und Makros unter Weitere Objekte, ohne Zeilen.

Die Vorschau schreibt nie: Sie legt keine Datei neben dem Original an und ändert nicht sein Änderungsdatum. Deshalb zeigt eine SQLite-Datenbank im WAL-Modus, was in der Hauptdatei gespeichert ist, und sagt es: Änderungen, die noch in ihrer -wal-Datei stehen, erscheinen nicht.

Auf dem Mac öffnet sich auch eine TSV-Datei als Tabelle. Eine CSV-Datei zeigt macOS selbst, als Tabelle ohne Typen; auf iPad und iPhone zeigt das System CSV als Tabelle und TSV als Text. Um sie als Tabelle mit Typen zu sehen, öffne sie in Calíope.

Hier wird nichts bearbeitet und nichts abgefragt: Um SQL auszuführen, öffne die Datei mit der Taste, die das System über der Vorschau zeigt, in Calíope. Apple Vision Pro lädt keine Vorschauen anderer Apps; dort zeigt das System seine eigene Karte mit Name und Größe der Datei.

Stichwörter: übersicht, quick look, leertaste, finder, dateien, vorschau, sqlite, duckdb, parquet, tsv, csv

Übersicht: Grenzen und Dateien, die sie nicht lesen kann

Etwa drei Sekunden pro Vorschau, große Dateien, verschlüsselte Datenbanken und ausstehende Schreibvorgänge.

Eine Vorschau hat etwa drei Sekunden, um die Datei zu lesen. Sie liest zuerst, was am meisten zeigt — die Liste der Tabellen, dann die Zeilen der ersten, zuletzt die Zeilenzahlen —, und wenn die Zeit abläuft, hört sie dort auf und sagt es: Öffne die Datei in Calíope, um den Rest zu sehen. Eine Datenbank mit Hunderten Tabellen zeigt ihre ganze Liste in weniger als einer Sekunde; bei Tausenden hält die Vorschau nach diesen drei Sekunden an, mit vollständiger Liste und den Zeilen der ersten zehn.

Die Größe allein ist kein Problem, weil nur die ersten Zeilen gelesen werden: Eine SQLite-Datei mit 2 GB öffnet sich in ein paar Sekunden. Nicht gezählt wird eine TSV-Datei über 50 MB auf dem Mac: Sie zeigt Zeilen nicht gezählt und ihre ersten 20 Zeilen.

Kann eine Datei nicht gelesen werden, sagt die Vorschau, warum, statt leer zu bleiben:

- eine verschlüsselte SQLite-Datenbank oder eine Datei, die keine Datenbank ist;
- auf dem Mac eine DuckDB-Datenbank, deren .wal-Datei noch Schreibvorgänge enthält: Öffne sie in Calíope, um sie fertig zu schreiben;
- eine beschädigte Datei: Die Vorschau zeigt den Grund, den die Engine nennt;
- eine Datenbank ohne Tabellen sagt es.

Calíope selbst öffnet eine DuckDB-Datenbank mit ausstehenden Schreibvorgängen ganz normal: Auf dem Mac kann nur die Vorschau sie nicht anwenden, weil das System sie nur die Datei lesen lässt, die es ihr gibt. Auf iPad und iPhone liest die Vorschau aus der Dateien-App die .wal-Datei sehr wohl und zeigt die Datenbank mit diesen Schreibvorgängen.

Stichwörter: übersicht, grenze, zeit, groß, verschlüsselt, wal, beschädigt, zeilen nicht gezählt