Esta página describe Calíope 1.5, la versión que estamos construyendo ahora mismo. La 1.4 está terminada y en revisión de App Store, y la tienda sirve hoy la 1.3 en el Mac y la 1.2 en iPad. El changelog dice en qué versión llegó cada función.
Añade un botón «Abrir en Calíope» a cada tema. Sólo funciona con la app instalada.
Lee archivos .md, .sql, .json, .csv, .rtf y de texto sin abrirlos en un editor.
Dónde está: Espacio de Trabajo › Herramientas › Previsualizador de archivos
El Previsualizador de archivos muestra el contenido de un archivo local interpretado según su extensión: el Markdown (.md) se representa como documento, el SQL (.sql) con resaltado de sintaxis y numeración de línea, el JSON (.json) reindentado y coloreado, el CSV (.csv, .tsv) como tabla, el texto enriquecido (.rtf) como documento, y el texto plano (.txt, .log) tal cual.
Es una herramienta de solo lectura: no edita, no guarda y no ejecuta nada. Para escribir y ejecutar consultas está el Editor SQL; para trabajar con bases SQLite locales, el Editor SQLite.
Funciona sin conexión a ningún servidor y muestra un archivo a la vez, con una lista de recientes.
Escoge un archivo del disco o reábrelo desde la lista de recientes.
Pulsa Abrir… y escoge cualquier archivo compatible: .md, .sql, .json, .csv, .tsv, .rtf, .txt o .log. El archivo se añade a Recientes, que aparece en la pantalla inicial de la herramienta y guarda los últimos ocho.
Calíope guarda un permiso persistente de cada reciente, así que puedes reabrirlo después de cerrar la app sin volver a buscarlo. Si el archivo se mueve o se borra, el reciente deja de abrirlo y basta con escogerlo otra vez con Abrir….
Cerrar suelta el archivo y detiene la vigilancia de cambios.
Encabezados, listas, tablas, citas y bloques de código.
El render cubre encabezados de # a ######; párrafos con negrita, cursiva, código en línea, tachado y enlaces; listas con y sin numerar, con anidamiento; checklists - [ ] y - [x]; citas >; reglas horizontales; tablas de pipes; y bloques de código con cerca. Si el bloque está etiquetado como sql, se resalta igual que un archivo .sql.
Queda fuera a propósito: las imágenes no se descargan —se muestra su texto alternativo—, el HTML embebido no se interpreta y el front matter del inicio se omite.
Los encabezados se anuncian a VoiceOver como encabezados y todo el texto escala con el tamaño de letra dinámico.
Los archivos de texto enriquecido se leen como documento, con su estructura.
Un archivo .rtf —el que guardan TextEdit, Word o Páginas al exportar— se muestra como documento y no como marcado. Se conservan los encabezados, las listas con su anidamiento y su numeración, la negrita, la cursiva, el subrayado, el tachado, los enlaces, la alineación de los párrafos y los tramos en letra monoespaciada.
Lo que no se aplica es la tipografía del documento: ni la familia de letra, ni los tamaños en puntos, ni los colores. Los pone Calíope, igual que hace con el Markdown, para que el texto escale con el tamaño de letra dinámico y se lea igual de bien en tema claro y en oscuro. Se te recuerda al pie mientras el archivo está abierto.
Los niveles de encabezado se deducen del tamaño de letra relativo al propio documento: el mayor es el nivel 1, el siguiente el 2, y así sucesivamente. Un RTF no declara jerarquía en ninguna parte, así que es lo único que se puede saber.
Queda fuera: los paquetes .rtfd no se abren —son una carpeta, no un archivo—, y las imágenes y objetos incrustados no se muestran; si el documento lleva alguno, se te dice cuántos al pie.
Resaltado de sintaxis y numeración de línea, sin ejecución.
Los archivos .sql se muestran monoespaciados, con número de línea y resaltado de sintaxis: consulta, definición de esquema, control, funciones, tipos, ventana y procedural, más literales de texto, números, comentarios --, # y /* … */, e identificadores entre acentos graves.
No hay botón de ejecutar, y es a propósito: el previsualizador nunca abre una conexión. Si quieres ejecutar el contenido, ábrelo en el Editor SQL.
Por encima de 500 KB el resaltado se desactiva y el archivo se muestra en texto plano; se avisa al pie.
JSON reindentado, CSV como tabla, registros tal cual.
El JSON (.json) se reindenta con dos espacios por nivel y se colorea: claves, texto, números y true/false/null. El orden de las claves es el del archivo —no se reordena nada—, y si el contenido no es JSON válido se avisa al pie y se muestra igualmente lo que se pudo leer. Por encima de 2 MB el formato se desactiva y el archivo se muestra tal como está en el disco.
El CSV (.csv, .tsv) se muestra como tabla, con números de fila y cabecera fija. El separador se detecta —coma, punto y coma, tabulador o barra vertical— y se nombra al pie; se respetan los campos entre comillas, las comillas duplicadas y los saltos de línea dentro de un campo. Se dibujan hasta 10 000 filas y 64 columnas, y cualquier recorte se dice. No ordena ni filtra: es un visor, no una rejilla de datos.
El texto plano (.txt, .log y cualquier extensión no reconocida) se muestra tal cual, monoespaciado y con números de línea. Las líneas de más de 2 000 caracteres se parten para poder dibujarlas, y la marca ↳ indica que es continuación de la anterior.
Los objetos y los arrays se pliegan: el triángulo del margen esconde el contenedor y deja un resumen —[…] o {…}— con el número de miembros; los dos botones de la cabecera pliegan y despliegan el archivo entero. Los contenedores vacíos ya vienen en una sola línea.
Aciertos resaltados, recuento y salto entre ellos.
⌘F abre la barra de búsqueda, y también el botón de la lupa de la cabecera. Se busca texto llano, sin expresiones regulares, y solo sobre lo que se leyó: si el archivo venía cortado a 5 MB, el aviso de arriba lo dice y el resto no se ha mirado.
Los aciertos se pintan encima del contenido sin tapar el resaltado de sintaxis, y el seleccionado va en un tono más fuerte. Intro y ⌘G llevan al siguiente, ⇧⌘G al anterior, y el recuento de la barra dice en cuál estás. El botón Aa distingue mayúsculas y minúsculas. Esc cierra la barra.
Funciona en los cinco tipos: en el CSV se ilumina la celda y se señala su fila; en el Markdown, el texto dentro del bloque —en los bloques de código el acierto se cuenta y se salta a él, pero no se ilumina, porque conservan su propio resaltado—; y en el JSON, un acierto escondido dentro de un contenedor plegado lo despliega al saltar a él. Se cuentan hasta 5 000 aciertos, y a partir de ahí la barra muestra un +.
La vista se actualiza sola cuando el archivo cambia en el disco.
Mientras el archivo está abierto, Calíope vigila su ruta. Si lo guardas desde otro programa, la vista se actualiza sola —con un indicador de Actualizado durante unos segundos— y conserva la posición de lectura. También puedes forzarlo con Recargar.
La vigilancia sobrevive al guardado atómico, el que hacen TextEdit, Xcode o vim reemplazando el archivo en vez de reescribirlo: sigue refrescando después del segundo y del tercer guardado.
Si el archivo desaparece, la herramienta lo dice sin tratarlo como un error: borrar un archivo no es un fallo.
Límites: de un archivo grande se leen los primeros 5 MB —arriba se indica cuánto se está mostrando—, el resaltado SQL se desactiva por encima de 500 KB, el formato de JSON por encima de 2 MB, y de un CSV se dibujan hasta 10 000 filas y 64 columnas. Todo recorte se dice al pie de la vista.