objective c - que - ¿Cuál es la mejor manera de implementar el resaltado de sintaxis del código fuente en Cocoa?
para que sirve la etiqueta title en html (5)
Estoy trabajando en la aplicación Cocoa que debería poder analizar y resaltar un código fuente escrito en lenguajes como Objective-C, SQL, JavaScript, Python, etc. El texto debería poder editarse también (mediante el uso de NSTextView, por ejemplo).
Indique cuál es la mejor manera de implementar dicha función en Mac OS X 10.5.
No es necesario admitir el autocompletado y otras características adicionales. El formato simple por palabras clave, cadenas, #includes y números, pero con un buen rendimiento, está bien.
Además, sería genial si la configuración por idiomas fuera compatible.
¡Gracias!
Al preparar un proyecto que requerirá algo similar, he encontrado lo siguiente (pero no los he evaluado en profundidad):
- / Desarrollador / Ejemplos / OpenGL / Cocoa / GLSLEditorSample implementa resaltado de sintaxis.
- IDEKit , "un marco de código abierto que proporciona edición de código fuente de programador, incluyendo coloreado de sintaxis, funciones emergentes y marcos divididos". Esto no se ha actualizado durante un tiempo (ofrece compatibilidad 10.2 y 10.3, y viene con un proyecto Project Builder, se puede convertir con Xcode 2.5).
- UKSyntaxColoredTextDocument .
Daría un segundo consejo a Ahruman, particularmente mirando el UKSyntaxColoredTextDocument de Uli, ya que eso te orientará en la dirección correcta sobre qué clases, etc., vas a tener que aprender.
Esta es otra excelente fuente de información:
http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting
Buena suerte: resaltar la sintaxis es difícil de entender, ¡pero muy divertido en el camino!
Puede considerar usar flex como se describe (en alemán) aquí [1]. Puede encontrar un ejemplo de este enfoque aquí [2].
[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/
Puede usar Pygments, que está escrito en python, para generar una representación HTML del código fuente, que luego se puede presentar en una vista web.
(Tenga en cuenta, como se refleja en el comentario a continuación, esta respuesta fue a la pregunta original, que no mencionaba el texto editable).
Tuve que buscar una solución de resaltado de sintaxis para Cocoa recientemente y después de buscar en , Google y GitHub no pudieron encontrar nada moderno, fácil de reutilizar y aún en desarrollo activo.
Parece que la mayoría de los marcadores de sintaxis actualmente están escritos para la web. Afortunadamente, en realidad es bastante fácil insertarlos en un WebView para usar en cualquier aplicación Cocoa. La comunicación con el editor se puede hacer a través del protocolo WebScriptObject de WebKit.
Aquí hay un contenedor de ejemplo para el popular editor de texto JavaScript CodeMirror for Cocoa: https://github.com/swisspol/CodeMirrorView