首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >黑客攻击rails.vim与Padrino合作

黑客攻击rails.vim与Padrino合作
EN

Stack Overflow用户
提问于 2011-04-20 12:05:09
回答 1查看 548关注 0票数 16

我最近克隆了rails.vim (Vim),希望通过修改它来处理Padrino项目。

目前,我试图让Rcontroller命令不仅在应用程序/控制器(完美的rails)中,而且在项目中的任何文件夹中,都有一个名为“控制器”的子文件夹。因此,当我在命令模式下输入Rcontroller并点击选项卡时,我应该能够通过admin/controllers/base.rbadmin/controllers/accounts.rbapp/controllers/events.rb等选项卡。这将允许插件的用户跳转到Padrino应用程序的“子应用程序”中的控制器。例如PADRINO_ROOT/admin

当前的controllerList函数似乎处理了这个自动完成,下面是我到目前为止所做的工作(仅从原始源代码稍微修改一下)。

代码语言:javascript
复制
function! s:controllerList(A,L,P)
  let con = padrino#app().relglob("*/controllers/","**/*",".rb") 
  call map(con,'s:sub(v:val,"_controller$","")')
  return s:autocamelize(con,a:A)  
endfunction

我在控制器目录之前添加了通配符,但是这给出了如下结果

  • Rcontroller ers/base
  • Rcontroller ers/sessions
  • Rcontroller s/events

最后一条似乎有什么奇怪的事情发生在字符串长度或重叠.

理想情况下,我希望将其设置为输入Rcontroller admin<TAB>将导致自动完成到Rcontroller admin/controllers/accounts.rb。同样,Rcontroller app<TAB>应该导致Rcontroller app/controllers/events.rb

viewList函数的代码与此类似,其代码如下所示:

代码语言:javascript
复制
 function! s:viewList(A,L,P)
   let c = s:controller(1)
   let top = padrino#app().relglob("app/views/",s:fuzzyglob(a:A))
   call filter(top,'v:val !~# "\\~$"')
   if c != '' && a:A !~ '/'
     let local = padrino#app().relglob("app/views/".c."/","*.*[^~]")
     return s:completion_filter(local+top,a:A)
   endif
   return s:completion_filter(top,a:A)
 endfunction

有人有什么建议吗?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-31 09:05:17

您可能希望完整的路径如下所示:

代码语言:javascript
复制
**/controllers/**/*.rb

它是“在任意目录下查找一个称为控制器的目录,然后在该目录下的任何地方查找以.rb结尾的文件”。

看看"relglob“的其他用法,我只能猜测它应该如何工作,但我的猜测是:

  • 第一个param是“开始查找哪个目录”
  • 第二个param是“如何从那里乘出目录”
  • 第三个param是“将匹配的实际文件”

基于这一假设,我的猜测是:

代码语言:javascript
复制
padrino#app().relglob("app/","**/controllers/**/*",".rb") 

注意:这是基于我对glob的理解,而不是根据实际使用情况调整vim或relglob。

注意:在假设你不太可能在供应商/插件或供应商/宝石下的任何控制器中添加"app/“。这种情况可能不是这样的,在这种情况下,可以随意将其改为“。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5729930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档