Skip to content

Commit e1693f7

Browse files
committed
Update generator completion for Rails 3
1 parent 98d3524 commit e1693f7

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

autoload/rails.vim

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1576,15 +1576,21 @@ function! s:Complete_script(ArgLead,CmdLine,P)
15761576
elseif cmd =~# '^\%(generate\|destroy\)\s\+'.a:ArgLead.'$'
15771577
return s:completion_filter(rails#app().generators(),a:ArgLead)
15781578
elseif cmd =~# '^\%(generate\|destroy\)\s\+\w\+\s\+'.a:ArgLead.'$'
1579-
let target = matchstr(cmd,'^\w\+\s\+\zs\w\+\ze\s\+')
1580-
if target =~# '^\%(\w*_\)\=controller$'
1579+
let target = matchstr(cmd,'^\w\+\s\+\%(\w\+:\)\=\zs\w\+\ze\s\+')
1580+
if target =~# '^\w*controller$'
15811581
return filter(s:controllerList(a:ArgLead,"",""),'v:val !=# "application"')
1582-
elseif target =~# '^\%(\w*_\)\=model$' || target =~# '^scaffold\%(_resource\)\=$' || target ==# 'mailer'
1583-
return s:modelList(a:ArgLead,"","")
1584-
elseif target ==# 'migration' || target ==# 'session_migration'
1585-
return s:migrationList(a:ArgLead,"","")
1582+
elseif target ==# 'generator'
1583+
return s:completion_filter(map(rails#app().relglob('lib/generators/','*'),'s:sub(v:val,"/$","")'))
1584+
elseif target ==# 'helper'
1585+
return s:helperList(a:ArgLead,"","")
15861586
elseif target ==# 'integration_test' || target ==# 'integration_spec' || target ==# 'feature'
15871587
return s:integrationtestList(a:ArgLead,"","")
1588+
elseif target ==# 'metal'
1589+
return s:metalList(a:ArgLead,"","")
1590+
elseif target ==# 'migration' || target ==# 'session_migration'
1591+
return s:migrationList(a:ArgLead,"","")
1592+
elseif target =~# '^\w*\%(model\|resource\)$' || target =~# '\w*scaffold\%(_controller\)\=$' || target ==# 'mailer'
1593+
return s:modelList(a:ArgLead,"","")
15881594
elseif target ==# 'observer'
15891595
let observers = s:observerList("","","")
15901596
let models = s:modelList("","","")
@@ -1593,8 +1599,6 @@ function! s:Complete_script(ArgLead,CmdLine,P)
15931599
endif
15941600
call filter(models,'index(observers,v:val) < 0')
15951601
return s:completion_filter(observers + models,a:ArgLead)
1596-
elseif target ==# 'web_service'
1597-
return s:apiList(a:ArgLead,"","")
15981602
else
15991603
return []
16001604
endif

plugin/rails.vim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ call s:SetOptDefault("rails_modelines",0)
6767
call s:SetOptDefault("rails_menu",1)
6868
call s:SetOptDefault("rails_gnu_screen",1)
6969
call s:SetOptDefault("rails_history_size",5)
70-
call s:SetOptDefault("rails_generators","controller\nintegration_test\nmailer\nmigration\nmodel\nobserver\nplugin\nresource\nscaffold\nsession_migration")
70+
call s:SetOptDefault("rails_generators","controller\ngenerator\nhelper\nintegration_test\nmailer\nmetal\nmigration\nmodel\nobserver\nperformance_test\nplugin\nresource\nscaffold\nscaffold_controller\nsession_migration\nstylesheets")
7171
if exists("g:loaded_dbext") && executable("sqlite3") && ! executable("sqlite")
7272
" Since dbext can't find it by itself
7373
call s:SetOptDefault("dbext_default_SQLITE_bin","sqlite3")

0 commit comments

Comments
 (0)