Skip to content

Commit 6e528df

Browse files
committed
Support app/assets file creation
Closes tpope#304.
1 parent c7cb8aa commit 6e528df

1 file changed

Lines changed: 18 additions & 10 deletions

File tree

autoload/rails.vim

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2622,7 +2622,7 @@ function! s:CommandEdit(cmd, name, projections, ...)
26222622
endif
26232623
endfunction
26242624

2625-
function! s:LegacyCommandEdit(cmd,name,target,prefix,suffix)
2625+
function! s:LegacyCommandEdit(cmd, target, prefix, suffix)
26262626
let cmd = s:findcmdfor(a:cmd)
26272627
if a:target == ""
26282628
return s:error("E471: Argument required")
@@ -2867,33 +2867,41 @@ endfunction
28672867
function! s:stylesheetEdit(cmd,...)
28682868
let name = a:0 ? a:1 : s:controller(1)
28692869
if rails#app().has('sass') && rails#app().has_file('public/stylesheets/sass/'.name.'.sass')
2870-
return s:LegacyCommandEdit(a:cmd,"stylesheet",name,"public/stylesheets/sass/",".sass")
2870+
return s:LegacyCommandEdit(a:cmd,name,"public/stylesheets/sass/",".sass")
28712871
elseif rails#app().has('sass') && rails#app().has_file('public/stylesheets/sass/'.name.'.scss')
2872-
return s:LegacyCommandEdit(a:cmd,"stylesheet",name,"public/stylesheets/sass/",".scss")
2872+
return s:LegacyCommandEdit(a:cmd,name,"public/stylesheets/sass/",".scss")
28732873
elseif rails#app().has('lesscss') && rails#app().has_file('app/stylesheets/'.name.'.less')
2874-
return s:LegacyCommandEdit(a:cmd,"stylesheet",name,"app/stylesheets/",".less")
2874+
return s:LegacyCommandEdit(a:cmd,name,"app/stylesheets/",".less")
28752875
else
28762876
let types = rails#app().relglob('app/assets/stylesheets/'.name,'.*','')
28772877
if !empty(types)
2878-
return s:LegacyCommandEdit(a:cmd,'stylesheet',name,'app/assets/stylesheets/',types[0])
2878+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/stylesheets/',types[0])
2879+
elseif !isdirectory(rails#app().path('app/assets/stylesheets'))
2880+
return s:LegacyCommandEdit(a:cmd,name,'public/stylesheets/','.css')
2881+
elseif rails#app().has_gem('sass-rails')
2882+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/stylesheets/','.css.scss')
28792883
else
2880-
return s:LegacyCommandEdit(a:cmd,'stylesheet',name,'public/stylesheets/','.css')
2884+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/stylesheets/','.css')
28812885
endif
28822886
endif
28832887
endfunction
28842888

28852889
function! s:javascriptEdit(cmd,...)
28862890
let name = a:0 ? a:1 : s:controller(1)
28872891
if rails#app().has('coffee') && rails#app().has_file('app/scripts/'.name.'.coffee')
2888-
return s:LegacyCommandEdit(a:cmd,'javascript',name,'app/scripts/','.coffee')
2892+
return s:LegacyCommandEdit(a:cmd,name,'app/scripts/','.coffee')
28892893
elseif rails#app().has('coffee') && rails#app().has_file('app/scripts/'.name.'.js')
2890-
return s:LegacyCommandEdit(a:cmd,'javascript',name,'app/scripts/','.js')
2894+
return s:LegacyCommandEdit(a:cmd,name,'app/scripts/','.js')
28912895
else
28922896
let types = rails#app().relglob('app/assets/javascripts/'.name,'.*','')
28932897
if !empty(types)
2894-
return s:LegacyCommandEdit(a:cmd,'javascript',name,'app/assets/javascripts/',types[0])
2898+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/javascripts/',types[0])
2899+
elseif !isdirectory(rails#app().path('app/assets/javascripts'))
2900+
return s:LegacyCommandEdit(a:cmd,name,'public/javascripts/','.js')
2901+
elseif rails#app().has_gem('coffee-rails')
2902+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/javascripts/','.js.coffee')
28952903
else
2896-
return s:LegacyCommandEdit(a:cmd,'javascript',name,'public/javascripts/','.js')
2904+
return s:LegacyCommandEdit(a:cmd,name,'app/assets/javascripts/','.js')
28972905
endif
28982906
endif
28992907
endfunction

0 commit comments

Comments
 (0)