挖井

类库大魔王的挖井日记

挖一口属于自己的井


基本完成context视图

  把ctags封装了一把,其实是CodeLite中的codelite_indexer,因为它已经把ctags提取出来了,不过是5.6版本,又对C++部分做了些修改,不过我不清楚这些修改有什么作用。有点奇怪的是,如果在Lua中用的话,只能提取一次tags,再试图提取tags的话会出错,就我现在猜测可能是里面有些全局状态,用过后没有恢复。于是我只好用Rings了,这是个在Lua的state里再创建一个state来执行代码,master state和slave state之间基本可以互不影响,但也可以传递些数据。这样我就每次都是在一个新new出来的Rings的slave state里调用一次ctags。在封装ctags的时候发现codelite_indexer没有把gnu regex编译进去,这需要指定几个宏定义,看makefile就知道了。
  现在已经可以将所有文件都提取一遍tags,并存入数据库中了。而context视图都是在数据库中查找可能匹配的符号信息的。但这需要保证当前数据库中的符号是正确的最新的,所以一个合适的自动更新符号数据库的机制就很有必要,现在还没想好要怎么弄,既要有及时性,又要求不能影响用户的操作体验。
  之后还剩下一个大特性是relative视图了,这个目前有些困难,无论是数据上还是界面上,都没有比较方便的现成解决方案。

本文地址:

https://minidump.info/blog/2010/06/e5-9f-ba-e6-9c-ac-e5-ae-8c-e6-88-90context-e8-a7-86-e5-9b-be/

感觉本文不错,不妨小额鼓励我一下!
上一篇

这算不算乌龙

  有个纠结了几个月的问题,同样的文件,在我的程序里打开后显示的换行符和其他程序显示的不一样!一直想不通其中的原因,总之我是没怀疑其他软件会出错,因为基本上所有其他的软件表现是一样的,只有我的程序跟它们不一样。  今天又纠结起来了,于是一狠心,准备全盘照抄CodeLite的源代码,用Beyon...…

CodingStudio 全文阅读
下一篇

看了几部动画片

  周六之后,一直在看小说和动画片。越来越觉得没有好看的小说了,于是试图把自己的注意力转移回动画片上去。看完了13集的《Working!!》和12集的《江户盗贼团五叶》,还看了没有完结的36集《妖精的尾巴》。最合我口味的是《妖精的尾巴》,差不多一直是高潮,没什么铺垫和伏笔之类的,所以很轻松,没...…

Film & ACG 全文阅读