Qual è il modo migliore per implementare l'evidenziazione della sintassi del codice sorgente nel cacao? [Chiuso

StackOverflow https://stackoverflow.com/questions/754591

Domanda

Sto lavorando sull'applicazione di cacao che dovrebbe essere in grado di analizzare ed evidenziare un codice sorgente scritto in lingue come Objective-C, SQL, JavaScript, Python ecc. Anche il testo dovrebbe essere modificabile (ad esempio utilizzando NStextView).

Si prega di avvisare qual è il modo migliore per implementare tale funzionalità in Mac OS X 10.5.

Non è necessario supportare l'auto-completamento e altre caratteristiche extra. Formattazione semplice per parole chiave, stringhe, #include e numeri, ma con prestazioni interessanti è semplicemente OK.

Inoltre, sarebbe bello se la configurazione per lingua fosse supportata.

Grazie!

È stato utile?

Soluzione

Nel preparare un progetto che richiederà qualcosa di simile, ho trovato quanto segue (ma non li ho valutati in profondità):

  • /Sviluppatore/Esempi/OpenGL/Cocoa/GlSleditorample implementa l'evidenziazione della sintassi.
  • Idekit, "Un framework open source che fornisce modifica del codice sorgente del programmatore, tra cui colorazione della sintassi, funzioni popup e frame divisi". Questo non è stato aggiornato per un po '(fa la compatibilità 10.2 e 10.3 e viene fornito con un progetto di progetto di progetto: può essere convertito con Xcode 2.5).
  • UkSyntAxColoredTextDocument.

Altri suggerimenti

Secondo i consigli di Ahruman - Particulary guardando UkSyntAxColoredTextDocument di Uli in quanto ti indicherà nella giusta direzione su quali classi ecc. Dovrai conoscere.

Questa è un'altra eccellente fonte di informazioni:

http://www.cocoadev.com/index.pl?implementsyntaxhighting

Buona fortuna - l'evidenziazione della sintassi è difficile da ottenere, ma molto divertimento lungo la strada!

Di recente ho dovuto cercare una soluzione di evidenziazione della sintassi per il cacao e dopo aver cercato su Stack Overflow, Google e Github non sono riusciti a trovare nulla di moderno, facile da riutilizzare e ancora in sviluppo attivo.

Sembra che la maggior parte degli evidenziatori di sintassi in questi giorni siano scritti per il web. Fortunatamente è in realtà abbastanza facile incorporarli in una webview da utilizzare in qualsiasi app di cacao. Comunicare con l'editor può essere fatto tramite Webkit Protocollo WebScriptObject.

Ecco un wrapper di esempio per il popolare editor di testo JavaScript Codemirror per cacao:https://github.com/swisspol/codemirrorview

È possibile utilizzare Pygments, che è scritto in Python, per generare una rappresentazione HTML del codice sorgente, che può quindi essere presentata in una vista Web.

(Nota, come riflessa nel commento di seguito: questa risposta era alla domanda originale, che non menzionava il testo modificabile.)

Potresti prendere in considerazione l'uso di Flex come descritto (in tedesco) qui [1]. Puoi trovare un esempio di questo approccio qui [2].

[1] http://www.osxentwicklerforum.de/thread.php?postid=14764 [2] http://objectiveous.github.com/davenport/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top