V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chemzqm
V2EX  ›  Vim

vim 党小福利, javascript 函数快速定位插件

  •  
  •   chemzqm · 2015-12-09 23:19:34 +08:00 · 2904 次点击
    这是一个创建于 3257 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://github.com/chemzqm/unite-js-func

    因为发现之前用 taglist 之类的插件定位函数实在不太方便,所以有了这个插件。

    它使用 acorn 解析顶层函数以及以下格式

    this.xyz = function(){}
    Emitter.prototype.on = function(){}
    module.exports = function(){}
    exports.dosomething = function(){}

    支持当前 buffer 内定位(使用 pipe ,无需保存文件),按模块查找,查找依赖模块 /文件,查找全部依赖模块,查找当前模块内全部文件等功能。

    因为是递归解析 require 函数,所以无需担心模块查找时解析到非相关文件。

    暂时没有做成完全异步,以后有性能需求的话会调整
    暂时还不支持 es2015

    欢迎反馈!

    3 条回复    2015-12-10 12:37:14 +08:00
    Jeremial
        1
    Jeremial  
       2015-12-09 23:34:38 +08:00
    我用 ctrlp-funky
    chemzqm
        2
    chemzqm  
    OP
       2015-12-10 00:14:52 +08:00
    @Jeremial 当前文件函数其它基于 ctags 的对我来说也够用了,但是我经常需要跳转到相关模块的某个函数,如果是光标下的函数我可以用 tern-for-vim 插件的 tern-def 命令快速跳转,但是不在光标下的找起来来就麻烦了。

    这个插件另一个好处是能然你同时看到全部的顶层函数,而不会显示那些在闭包里的无关函数,对我来说这很重要
    spacewander
        3
    spacewander  
       2015-12-10 12:37:14 +08:00
    已 Star ,有机会试用下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   944 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:41 · PVG 04:41 · LAX 12:41 · JFK 15:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.