@@ -1851,48 +1851,49 @@ endfunction
18511851
18521852call 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