2010-03-16 7 views
2

Je cherche une syntaxe composante mettant en lumière que je peux inclure dans un projet Mac OS X XCode pour permettre l'édition de Ruby, C++, Lua, etc.Y at-il une coloration syntaxique composant éditeur pour Mac OS X

I besoin d'un composant qui est open source ou a la source incluse.

Mes recherches sur Google n'ont pas vraiment donné lieu à des frameworks ou des composants Mac OS X, et encore moins à ceux que je recherche.

Merci pour les pointeurs!

Répondre

3

UKSyntaxColoredTextDocument (spécifique à Mac) ou Scintilla (multiplateforme et utilisé dans une variété d'éditeurs, y compris Komodo) pourrait être ce que vous cherchez.

+0

Ah ... J'ai vu Scintilla mais je pensais que c'était Win32 seulement. –

+0

Le UKSyntaxColoredTextDocument semble bon aussi, mais je m'interroge sur la licence. –

+0

La page Scintilla, quand je l'ai regardée de nouveau pour votre question, ne semble pas mentionner Mac du tout, mais je sais qu'elle est utilisée dans Komodo (listée sous "Related" sur scintilla.org) et j'ai utilisé Komodo sur le Mac. Il ressemble à une autre URL pour UKSyntaxColoredTextDocument est http://github.com/uliwitness/UKSyntaxColoredTextDocument/ (peut-être plus récent - en fait, je vais changer l'URL dans ma réponse) et un fichier README.txt là a un bloc de licence qui apparaît (en un coup d'œil - lisez par vous-même pour être sûr) d'être BSD. – Isaac

1

Essayez d'utiliser scintilla. http://www.scintilla.org/

+0

@Bytenik, scintilla était au moins version carbone http://www.mail-archive.com/[email protected]/msg01961.html – osgx

0

Vous pouvez essayer d'utiliser CodeMirror. Je le fais dans mon application SQLite Professional pour mettre en évidence les requêtes modifiables par l'utilisateur. Il est également assez simple à configurer:

  1. Dans votre projet, ajoutez le contenu de CodeMirror en tant que dossier plutôt qu'en tant que groupe.
  2. Ajoutez le WebKit.Framework à votre projet.
  3. Ajoutez un WebView à votre plume/xib.

Ajoutez le code suivant:

// Load our webview from our local CodeMirror path 
NSURL * url = [NSURL fileURLWithPath: [NSString stringWithFormat:@"%@/CodeMirror/Demo/preview.html", [[NSBundle mainBundle] resourcePath]]]; 

NSString * html = [NSString stringWithContentsOfURL: url encoding:NSUTF8StringEncoding error:nil]; 

[webView.mainFrame loadHTMLString: html baseURL: url]; 

Ils ont aussi beaucoup de formats prédéfinis, il fonctionne très bien. Le seul problème que j'ai trouvé avec ceci, c'est que la boîte de dialogue Find native ne fonctionne pas dans le contexte de WebView.