2009-10-04 2 views
4

Я планирую сделать приложение Cocoa, которое требует, чтобы синтаксис кода был окрашен (на всех распространенных языках). Вместо того, чтобы писать собственный заголовок/парсер кода, есть ли готовые решения?Раскраска синтаксиса для приложения Cocoa

Благодаря

+1

Вы хотите написать приложение Cocoa, которое выделяет код, введенный * пользователем *, или вы хотите написать приложение Cocoa с источником для синтаксиса * этого * приложения? Ваш вопрос немного неясен. –

+1

Я думаю, ему нужно выделить код, введенный пользователем (Плюс он сказал «на всех распространенных языках», я сомневаюсь, что он захочет использовать PHP, ruby, python и perl в своем приложении: D) –

+0

Ах да, справедливая точка. –

ответ

9
+3

Geshi написан на PHP. Было бы утомительно интегрироваться в приложение Cocoa. Бурение через вашу вторую ссылку; это актуально: http://www.cocoadev.com/index.pl?ImplementSyntaxHighlighting –

+0

Хорошие ссылки, проверит их – indragie

-1

Вы можете использовать highlight, который используется в QLColorCode :) (впрочем, это не рамки, которые вы включаете в свой код, но утилита командной строки)

EDIT: Ах да, использовать Geshi, это, вероятно, лучше: D

+0

Это приложение, которое синтаксически подчеркивает код. Вопросник хочет сделать приложение, которое он или она пишет, выделяет код. –

1

Вы также можете использовать библиотеку JavaScript SyntaxHighlighter и встроить ее в WebView в свое приложение.

+0

Если я получу эту работу в веб-обзоре, это будет работать блестяще: D – indragie

3

Отличное решение - UKSyntaxColoredTextDocument Uli Kusterer. Он быстрый и имеет несколько встроенных синтаксических парсеров. Легко добавлять новые языки.

Бесплатно для некоммерческого использования и очень дешево, если вы хотите, чтобы это было для коммерческого использования.

+0

Wow не могу поверить Я не нашел этого раньше. Благодаря тонну. – indragie

0

После довольно много исследований, пытающихся решить подобную проблему, самым простым подходом, который я нашел, является использование библиотеки JavaScript для выделения синтаксиса в сочетании с WebView. Тратить время на создание синтаксического маркера, довольно сложную задачу, вероятно, не то, на что вы хотели бы потратить время.

Я остановился на использовании популярного CodeMirror и написал обложку с открытым исходным кодом для Cocoa: https://github.com/swisspol/CodeMirrorView. Вы можете использовать аналогичные подходы, чтобы обернуть другие редакторы кода на основе JavaScript в приложениях Cocoa.

Смежные вопросы