Что лучший способ состоит в том, чтобы реализовать подсветку синтаксиса исходного кода в Какао? [закрытый]

Получил ответ на другом форуме; ты не можешь Повторите «До конца слайда» и «До следующего клика» не отображаются в объектной модели.

18
задан Jonathan Leffler 17 July 2015 в 05:47
поделиться

4 ответа

Вероятно, было бы лучше отказаться от const (почему бы вы все равно настаивали на этом?).

В противном случае, у вас есть построить объединяющий итератор. Код довольно большой, подробнее см. в этой теме .

  • / Developer / examples / OpenGL / Cocoa / GLSLEditorSample реализует подсветку синтаксиса.
  • IDEKit , «инфраструктура с открытым исходным кодом, которая обеспечивает редактирование исходного кода программиста, включая подсветку синтаксиса, всплывающие функции и разделенные кадры». Это некоторое время не обновлялось (в нем говорится о совместимости с 10.2 и 10.3, и поставляется с проектом Project Builder - может быть преобразовано с помощью Xcode 2.5).
  • UKSyntaxColoredTextDocument .
16
ответ дан 30 November 2019 в 08:27
поделиться

Я бы второй совет Арумана - в частности, посмотреть на US UKSyntaxColoredTextDocument, поскольку это укажет вам правильное направление, в котором классы и т. д., о которых вам нужно будет узнать.

Это еще один отличный источник информации:

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

Удачи - подсветка синтаксиса Трудно понять, но по пути очень весело!

6
ответ дан 30 November 2019 в 08:27
поделиться

Вы можете использовать Pygments, написанный на python, для генерации HTML-представления исходного кода, который затем может быть представленным в веб-представлении.

(обратите внимание, как отражено в комментарии ниже - этот ответ был на оригинальный вопрос, в котором не упоминался редактируемый текст.)

1
ответ дан 30 November 2019 в 08:27
поделиться

Вы можете рассмотреть возможность использования flex, как описано (на немецком языке) здесь [1]. Вы можете найти пример такого подхода здесь [2].

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

1
ответ дан 30 November 2019 в 08:27
поделиться