我有一个导出Objective-C和Swift代码的应用程序。
在这个自动生成代码的预览窗口中,我想用Xcode默认主题使用的相同颜色格式化文本,即绿色表示注释,蓝色表示数字,红色表示字符串紫色表示类别等。
PaintCode等应用程序可以实现这一目标。有没有人知道图书馆或其他制作方法。
答案 0 :(得分:1)
您需要词法分析器才能将文本拆分为多个部分:标识符,符号,字符串和数字文字,注释等。进一步阅读lexers on Wikipedia。
然后你必须知道要对它们应用什么颜色,包括不同类型的标识符:关键字,函数,变量,类型等。对于那些,你可以管理某种类型的列表并查找它们。
对于解析,一个好的起点是NSScanner
或者只是逐字逐句地翻阅文本。这就是我们在PaintCode中的做法。
要自行着色,只需使用NSAttributedString
和NSForegroundColorAttributeName
即可。没有必要进入Core Text。
答案 1 :(得分:0)