Skip to content

Commit c7f7688

Browse files
committed
Account for short aliases in :Rails completion
1 parent 0294748 commit c7f7688

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

autoload/rails.vim

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1851,48 +1851,49 @@ endfunction
18511851

18521852
call s:add_methods('app', ['generators','script_command','output_command','server_command','generator_command'])
18531853

1854-
function! s:Complete_script(ArgLead,CmdLine,P)
1854+
function! s:Complete_script(ArgLead, CmdLine, P) abort
1855+
let app = rails#app()
18551856
let cmd = s:sub(a:CmdLine,'^\u\w*\s+','')
18561857
if cmd !~ '^[ A-Za-z0-9_=:-]*$'
18571858
return []
18581859
elseif cmd =~# '^\w*$'
18591860
return s:completion_filter(['generate', 'console', 'server', 'dbconsole', 'application', 'destroy', 'plugin', 'runner'],a:ArgLead)
1860-
elseif cmd =~# '^\%(generate\|destroy\)\s\+'.a:ArgLead.'$'
1861-
return s:completion_filter(rails#app().generators(),a:ArgLead)
1862-
elseif cmd =~# '^\%(generate\|destroy\)\s\+\w\+\s\+'.a:ArgLead.'$'
1861+
elseif cmd =~# '^\%([gd]\|generate\|destroy\)\s\+'.a:ArgLead.'$'
1862+
return s:completion_filter(app.generators(),a:ArgLead)
1863+
elseif cmd =~# '^\%([gd]\|generate\|destroy\)\s\+\w\+\s\+'.a:ArgLead.'$'
18631864
let target = matchstr(cmd,'^\w\+\s\+\%(\w\+:\)\=\zs\w\+\ze\s\+')
18641865
if target =~# '^\w*controller$'
18651866
return filter(s:controllerList(a:ArgLead,"",""),'v:val !=# "application"')
18661867
elseif target ==# 'generator'
1867-
return s:completion_filter(map(rails#app().relglob('lib/generators/','*'),'s:sub(v:val,"/$","")'), a:ArgLead)
1868+
return s:completion_filter(map(app.relglob('lib/generators/','*'),'s:sub(v:val,"/$","")'), a:ArgLead)
18681869
elseif target ==# 'helper'
1869-
return s:autocamelize(rails#app().relglob('app/helpers/','**/*','_helper.rb'),a:ArgLead)
1870+
return s:autocamelize(app.relglob('app/helpers/','**/*','_helper.rb'),a:ArgLead)
18701871
elseif target ==# 'integration_test' || target ==# 'integration_spec' || target ==# 'feature'
18711872
return s:autocamelize(
1872-
\ rails#app().relglob('test/integration/','**/*','_test.rb') +
1873-
\ rails#app().relglob('spec/features/', '**/*', '_spec.rb') +
1874-
\ rails#app().relglob('spec/requests/', '**/*', '_spec.rb') +
1875-
\ rails#app().relglob('features/', '**/*', '.feature'), a:ArgLead)
1873+
\ app.relglob('test/integration/','**/*','_test.rb') +
1874+
\ app.relglob('spec/features/', '**/*', '_spec.rb') +
1875+
\ app.relglob('spec/requests/', '**/*', '_spec.rb') +
1876+
\ app.relglob('features/', '**/*', '.feature'), a:ArgLead)
18761877
elseif target ==# 'migration' || target ==# 'session_migration'
18771878
return s:migrationList(a:ArgLead,"","")
18781879
elseif target ==# 'mailer'
18791880
return s:mailerList(a:ArgLead,"","")
1880-
return s:completion_filter(rails#app().relglob("app/mailers/","**/*",".rb"),a:ArgLead)
1881+
return s:completion_filter(app.relglob("app/mailers/","**/*",".rb"),a:ArgLead)
18811882
elseif target =~# '^\w*\%(model\|resource\)$' || target =~# '\w*scaffold\%(_controller\)\=$'
1882-
return s:completion_filter(rails#app().relglob('app/models/','**/*','.rb'), a:ArgLead)
1883+
return s:completion_filter(app.relglob('app/models/','**/*','.rb'), a:ArgLead)
18831884
else
18841885
return []
18851886
endif
1886-
elseif cmd =~# '^\%(generate\|destroy\)\s\+scaffold\s\+\w\+\s\+'.a:ArgLead.'$'
1887+
elseif cmd =~# '^\%([gd]\|generate\|destroy\)\s\+scaffold\s\+\w\+\s\+'.a:ArgLead.'$'
18871888
return filter(s:controllerList(a:ArgLead,"",""),'v:val !=# "application"')
1888-
return s:completion_filter(rails#app().environments())
1889-
elseif cmd =~# '^\%(console\)\s\+\(--\=\w\+\s\+\)\='.a:ArgLead."$"
1890-
return s:completion_filter(rails#app().environments()+["-s","--sandbox"],a:ArgLead)
1891-
elseif cmd =~# '^\%(server\)\s\+.*-e\s\+'.a:ArgLead."$"
1892-
return s:completion_filter(rails#app().environments(),a:ArgLead)
1893-
elseif cmd =~# '^\%(server\)\s\+'
1889+
return s:completion_filter(app.environments())
1890+
elseif cmd =~# '^\%(c\|console\)\s\+\(--\=\w\+\s\+\)\='.a:ArgLead."$"
1891+
return s:completion_filter(app.environments()+["-s","--sandbox"],a:ArgLead)
1892+
elseif cmd =~# '^\%(s\|server\)\s\+.*-e\s\+'.a:ArgLead."$"
1893+
return s:completion_filter(app.environments(),a:ArgLead)
1894+
elseif cmd =~# '^\%(s\|server\)\s\+'
18941895
if a:ArgLead =~# '^--environment='
1895-
return s:completion_filter(map(copy(rails#app().environments()),'"--environment=".v:val'),a:ArgLead)
1896+
return s:completion_filter(map(copy(app.environments()),'"--environment=".v:val'),a:ArgLead)
18961897
else
18971898
return filter(["-p","-b","-c","-d","-u","-e","-P","-h","--port=","--binding=","--config=","--daemon","--debugger","--environment=","--pid=","--help"],'s:startswith(v:val,a:ArgLead)')
18981899
endif

0 commit comments

Comments
 (0)