4 votos

AppleScript: Envolver el texto seleccionado en un ancho específico

¿Cómo envolver una selección de texto a un ancho de columna específico usando AppleScript?

Por ejemplo, digamos que se ha seleccionado el siguiente texto:

AppleScript es un lenguaje de script creado por Apple Inc. que facilita el control automatizado sobre aplicaciones Mac scriptables. Introducido por primera vez en System 7, actualmente está incluido en todas las versiones de macOS como parte de un paquete de herramientas de automatización del sistema.

Me gustaría ejecutar AppleScript (preferiblemente a través de algún atajo de teclado) en este texto seleccionado, que debería envolver las líneas a un ancho específico insertando saltos de línea en el ancho específico. El ancho puede estar codificado en el script mismo.

Por ejemplo, si el ancho es de 72, entonces, el texto anterior debería cambiarse a:

AppleScript es un lenguaje de script creado por Apple Inc. que
facilita el control automatizado sobre aplicaciones Mac scriptables.
Introducido por primera vez en System 7, actualmente está incluido en
todas las versiones de macOS como parte de un paquete de herramientas
de automatización del sistema.

Formatear el texto a 72 caracteres es posible usando la utilidad fmt como fmt -w 72. Por lo tanto, los pasos individuales serían:

  1. Obtener el texto seleccionado en AppleScript
  2. Ejecutar fmt -w 72 en el texto
  3. Reemplazar el texto seleccionado con la salida de fmt

Mi caso de uso principal es envolver los correos electrónicos que compongo en un ancho de 72 caracteres en Apple Mail en macOS. Cualquier otra idea (fuera de AppleScript) para lograr este objetivo también es bienvenida.

¡Gracias!

4voto

Hydrothermal Puntos 111

Después de buscar un poco, parece que lo siguiente funciona. Esto fue en macOS 13.5.2 y Automator 2.10 (521.1).

  1. Abrir Automator
  2. Archivo -> Nuevo -> Acción rápida
  3. Buscar "script de shell" en la caja de búsqueda en la esquina superior izquierda con "Acción" seleccionado
  4. Arrastrar la acción "Ejecutar script de shell" al área de flujo de trabajo a la derecha, y:
    • fmt -w 72 en el contenido del script de shell
    • Pasar entrada: stdin
  5. Seleccionar lo siguiente en la parte superior del área de flujo de trabajo
    • El flujo de trabajo recibe el actual en
    • Marcar "La salida reemplaza el texto seleccionado"
  6. Archivo -> Guardar -> Usar cualquier nombre adecuado (Yo usé WrapText)

Ver captura de pantalla adjunta.

Ahora, selecciona cualquier texto en cualquier aplicación (TextEdit, Mail, etc.), haz clic derecho, Servicios -> WrapText envolverá el texto en 72 caracteres. Ver grabación de pantalla adjunta.

Captura de pantalla de Automator Demostración de WrapText

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X