¿Hay alguna forma de ver el formato invisible en mi portapapeles y / o crear el formato cuando se canaliza a pbcopy?

2

¿Hay alguna manera de ver el contenido de mi portapapeles de una manera que me muestre qué metadatos de formato están incluidos?

O para llegar a la pregunta detrás de la pregunta: ¿hay una manera de generar resultados en una secuencia de comandos de modo que si canalizo la salida a pbcopy incluirá el formato?

Ejemplo específico: si escribo una secuencia de comandos que genera una lista de nombres delimitada por una nueva línea y luego la pego en una tabla en Confluence, simplemente volcará los resultados en una sola celda. Me gustaría poder pegarlo para que se llene toda la columna (con un nombre por celda).

Puedo hacer esto pegando los resultados en una hoja de cálculo de Google y luego volviendo a copiar la columna de la hoja de cálculo de Google. Por alguna razón, se agrega un formato invisible que me permite pegar las celdas en Confluence, pero cuando inspecciono el portapapeles (en Finder's Edit - > Show Clipboard, o usando pbpaste | hexdump ) parece exactamente lo mismo que la salida de mi script . A menudo he tenido este problema con el formato de texto para el portapapeles, y realmente me gustaría saber qué trucos hay para ver y generar este formateo invisible mágico.

    
pregunta Jun-Dai Bates-Kobashigawa 10.04.2015 - 13:57

1 respuesta

2

Una cosa en el portapapeles es en realidad un objeto de estilo OO que tiene métodos para representarse adecuadamente en cada contexto. Por lo tanto, la razón por la que su volcado hexadecimal de PBCOPY es el mismo, incluso cuando el objeto en el portapapeles es diferente, es porque las representaciones de solo texto son las mismas.

Del mismo modo que un archivo en el portapapeles se renderizará como su ruta de archivo ascii en contextos que solo acepten pegados de texto. Creo que pbcopy y pbpaste solo operan con este formato de texto para los objetos en el portapapeles, por lo que no puede usarlos para hacer lo que pretende hacer.

Si entiendo su objetivo correctamente, podría piratearlo, usando una aplicación como textedit, y alimentar la aplicación como un rtf (archivo con formato de texto enriquecido) y luego enviar un COMANDO-A, luego COMANDO-C al texto aplicación (o tal vez un comando de edición de texto específico).

Esto es realmente intrépido, y daría lugar a una acción visible en la pantalla, pero sería una forma de script para obtener el marcado codificado por ascii en el portapapeles.

Publique un seguimiento, si desea ayuda para implementar esto.

    
respondido por el Dan Oblinger 22.05.2015 - 05:05

Lea otras preguntas en las etiquetas