自己不会写parser, 上网找到了highlightjs.
一开始的思路是用把highlightjs解析出来的html转成NSAttributedString放到UITextView里面. 但是UITextView有个问题是行宽度, 如果我们限制了行宽度, 那么不好实现, 所以就没有用UITextView而改用了UIWebView.
原理是用JavaScriptCore拿到UIWebView的JSContext, 然后让webView去load一个包含highlightjs的html模板, 在通过JSContext把要高亮的代码传进去解析. 就完成了....