国庆这几天在京城逛了逛,跟同学聚了聚,看了看书,解决了租房问题。 不过主要工作还是将 clickable.vim 进行了重写。
Clickable.vim
主要的功能是将 Vim 里匹配特定样式(Pattern)的文字 转化为可点击对象(Clickable Object), 并赋予语法高亮(Syntax Highlighting)。
当进行点击时,可根据上下文(Context)触发不同的动作。
观众:说人话!
Me:让vim里的文本可以点击!
之前写的版本基本是直接将 Riv.vim 里的相关代码复制了过去。 因此只有基本的功能,没有任何可扩展性。
而这次我想让它拥有强大的可扩展性, 因此在 Vim 里利用 dict 以及 vim 的 dict function 实现了一个简单的 Class/Object 的模组。
▾ after/ ▾ plugin/ clickable.vim ▾ autoload/ ▾ clickable/ class.vim config.vim highlight.vim pattern.vim syntax.vim test.vim util.vim clickable.vim README.rst
其中
plugin/clickalbe.vim 在载入每个新文件时进行加载
autoload/clickable.vim 设置了初始化函数。
autoload/clickable/ 里是主要模块。
class.vim 这是最主要的模块,可能需要进一步分解。
实现了一个简单的Class/Object Model, 定义了Class函数以生成类。
定义了Basic, Syntax, File, Link 几个Clickable类, 分别指单独的一类可点击对象。 其拥有validate(), trigger(), tooltip()乃至 highlight()属性
定义了 ConfigQue 类,其包含一个Clickable object 的队列 对不同的文件类型使用。 拥有 autocmd(), mapping() 等属性。
config.vim 定义了一些普通的config, 比如http链接, file链接
定制特定的config时可以参考
highlight.vim/syntax.vim/pattern.vim/util.vim 基本的相关函数
test.vim 测试模块
好吧,fix其中几个bug还是很花时间的,那么今天就到这。
全文完。