使用Xcode的代码突出显示颜色

时间:2015-06-30 09:14:44

标签: regex xcode cocoa colors paint-code

我有一个导出Objective-C和Swift代码的应用程序。

在这个自动生成代码的预览窗口中,我想用Xcode默认主题使用的相同颜色格式化文本,即绿色表示注释,蓝色表示数字,红色表示字符串紫色表示类别等。

PaintCode等应用程序可以实现这一目标。有没有人知道图书馆或其他制作方法。

Paint Code with formatted code preview

2 个答案:

答案 0 :(得分:1)

您需要词法分析器才能将文本拆分为多个部分:标识符,符号,字符串和数字文字,注释等。进一步阅读lexers on Wikipedia

然后你必须知道要对它们应用什么颜色,包括不同类型的标识符:关键字,函数,变量,类型等。对于那些,你可以管理某种类型的列表并查找它们。

对于解析,一个好的起点是NSScanner或者只是逐字逐句地翻阅文本。这就是我们在PaintCode中的做法。

要自行着色,只需使用NSAttributedStringNSForegroundColorAttributeName即可。没有必要进入Core Text。

答案 1 :(得分:0)

如果您正在使用Objective C或Swift,请查看CoreText。

您可以为每个绘制的字形着色。

Apple Developer Documentation about CoreText