Quelle est la meilleure façon d'implémenter la mise en évidence de la syntaxe du code source dans le cacao? [fermé

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

Question

Je travaille sur l'application de cacao qui devrait être en mesure d'analyser et de mettre en surbrillance un code source écrit dans des langages tels que Objective-C, SQL, JavaScript, Python, etc. Le texte doit également être modifiable (en utilisant NSTextView, par exemple).

Veuillez indiquer quelle est la meilleure façon d'implémenter une telle fonctionnalité dans Mac OS X 10.5.

Il n'est pas nécessaire de prendre en charge la complétion automatique et d'autres extraits. Formatage simple par des mots clés, des chaînes, des incluses et des nombres, mais avec des performances intéressantes est tout simplement OK.

De plus, ce serait formidable si la configuration par les langues était prise en charge.

Merci!

Était-ce utile?

La solution

Lors de la préparation d'un projet qui nécessitera quelque chose de similaire, j'ai trouvé ce qui suit (mais je ne les ai pas évalués en profondeur):

  • / Développeur / Exemples / OpenGL / COCOA / GLSLEDITORSELLE INDIMINE IMPLIME SYNTAXE SUPPRIMANCE.
  • Idekit, «Un cadre open source qui fournit l'édition de code source du programmeur, y compris la coloration de syntaxe, les fonctions contextuelles et les trames divisées». Cela n'a pas été mis à jour depuis un certain temps (il vante la compatibilité 10.2 et 10.3, et est livré avec un projet de générateur de projet - peut être converti avec Xcode 2.5).
  • UksyntaxcoloredTextDocument.

Autres conseils

Je mettrais les conseils d'Ahruman - en particulier en regardant UkSyntaxColoreTTextDocument d'ULI, car cela vous indiquera dans la bonne direction pour quelles classes, etc. vous devrez en savoir plus.

Ceci est une autre excellente source d'information:

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

Bonne chance - La mise en évidence de la syntaxe est difficile à bien, mais beaucoup de plaisir en cours de route!

J'ai dû chercher une solution de mise en évidence de syntaxe pour le cacao récemment et après avoir cherché sur Stack Overflow, Google et Github n'ont rien trouvé moderne, facile à réutiliser et toujours en développement actif.

Il semble que la plupart des surligneurs de syntaxe de nos jours soient écrits pour le Web. Heureusement, il est en fait assez facile de les intégrer dans une vue Web à utiliser dans n'importe quelle application Cocoa. La communication avec l'éditeur peut être effectuée via WEBKIT Protocole WebScriptObject.

Voici un exemple de wrapper pour l'éditeur de texte JavaScript populaire Codemiror pour le cacao:https://github.com/swisspol/codemirrorview

Vous pouvez utiliser des pygments, qui sont écrits en python, pour générer une représentation HTML du code source, qui peut ensuite être présenté dans une vue Web.

(Remarque, comme en témoigne le commentaire ci-dessous - cette réponse a été à la question initiale, qui n'a pas mentionné le texte modifiable.)

Vous pourriez envisager d'utiliser Flex comme décrit (en allemand) ici [1]. Vous pouvez trouver un exemple de cette approche ici [2].

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top