Pregunta

Posibles Duplicados:
Coloreado de sintaxis para el Cacao de la aplicación

Estoy interesado en resaltado de sintaxis en un Cacao TextView.

He encontrado varios recursos:

  • enfoque con flex, a través de un flex patrón emparejado contra textStorageDidProcessEditing en un TextView el delegado.En este enfoque de toda la cadena analizada en cada evento de entrada, por lo tanto se degrada el rendimiento.

  • CocoaDev tiene un propia página en el tema de resaltado de sintaxis:

    1. Uso NSTextStorageDidProcessEditingNotification, a continuación, obtener la edición del rango, y sólo se aplica el colorante no.El rango puede ser wordboundaries o nada;esto sin duda mejora el rendimiento.

    2. Ahí se menciona: Xcode, por ejemplo, sólo colorea el texto que se encuentra actualmente en la pantalla, y aplaza a colorear el resto del documento hasta que se desplaza a través de ella. Cómo se podría implementar esto?

    3. Uso NSLayoutManager – a través de Temporal atributos [que] se utilizan sólo para el dibujo en pantalla y no son persistentes en cualquier forma... como los médicos dicen, pero que no el color de la última edición de la gama, hasta que un carácter de espacio en blanco que se ha ingresado.

    4. Auxiliar personalizada como UKSyntaxColoredDocument – bueno, pero la definición del lenguaje se realiza a través de la lista de la propiedad;cómo utilizar adicionales/idioma existente definiciones?

Ninguno de los enfoques parecen realmente extensible o robusto para mí (excepto el 4.tal vez ..).

Soy consciente de un robusto sistema de bibliotecas existentes para los PECES como pygments;y de PyObjC.

Pregunta:¿Cómo sería posible utilizar algunos de biblioteca existente por ejemplo,como pygments para tener una extensa y eficiente de resaltado de sintaxis en un Cacao TextView?

Nota:Sé que esta pregunta es muy amplia (y mucho tiempo).Experiencias y sugerencias, así como las soluciones son bienvenidos.Gracias.


Encontrado otro similar hilo sobre ese tema: Coloreado de sintaxis para el Cacao de la aplicación

¿Fue útil?

Solución

Yo sugeriría echar un vistazo al código fuente a Smultron . Tiene muy buen resaltado de sintaxis. Utiliza una subclase de NSTextView para hacer la mayor parte del trabajo pesado. El código utiliza el controlador de distribución para agregar atributos al texto y utiliza algunos otros trucos inteligentes sólo para resaltar tanto del documento como sea necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top