@@ -722,6 +722,8 @@ function! s:readable_calculate_file_type() dict abort
722722 let r = " stylesheet-" .e
723723 elseif e == " js"
724724 let r = " javascript"
725+ elseif e == " coffee"
726+ let r = " javascript-coffee"
725727 elseif e == " html"
726728 let r = e
727729 elseif f = ~ ' \<config/routes\>.*\.rb$'
@@ -774,7 +776,8 @@ function! s:app_has(feature) dict
774776 \ 'spec': 'spec/',
775777 \ 'cucumber': 'features/',
776778 \ 'sass': 'public/stylesheets/sass/',
777- \ 'lesscss': 'app/stylesheets/'}
779+ \ 'lesscss': 'app/stylesheets/',
780+ \ 'coffee': 'app/scripts/'}
778781 if self .cache.needs (' features' )
779782 call self .cache.set (' features' ,{})
780783 endif
@@ -1367,6 +1370,8 @@ function! s:readable_preview_urls(lnum) dict abort
13671370 let urls = urls + [s: sub (self .name (),' ^public' ,' ' )]
13681371 elseif self .name () = ~ ' ^app/stylesheets/'
13691372 let urls = urls + [s: sub (s: sub (self .name (),' ^app/stylesheets/' ,' /stylesheets/' ),' \.less$' ,' .css' )]
1373+ elseif self .name () = ~ ' ^app/scripts/'
1374+ let urls = urls + [s: sub (s: sub (self .name (),' ^app/scripts/' ,' /javascripts/' ),' \.coffee$' ,' .js' )]
13701375 elseif self .controller_name () != ' ' && self .controller_name () != ' application'
13711376 if self .type_name (' controller' ) && self .last_method (a: lnum ) != ' '
13721377 let urls += [' /' .self .controller_name ().' /' .self .last_method (a: lnum ).' /' ]
@@ -2646,7 +2651,14 @@ function! s:stylesheetEdit(cmd,...)
26462651endfunction
26472652
26482653function ! s: javascriptEdit (cmd,... )
2649- return s: EditSimpleRb (a: cmd ," javascript" ,a: 0 ? a: 1 : " application" ," public/javascripts/" ," .js" ,1 )
2654+ let name = a: 0 ? a: 1 : s: controller (1 )
2655+ if rails#app ().has (' coffee' ) && rails#app ().has_file (' app/scripts/' .name.' .coffee' )
2656+ return s: EditSimpleRb (a: cmd ,' javascript' ,name,' app/scripts/' ,' .coffee' ,1 )
2657+ elseif rails#app ().has (' coffee' ) && rails#app ().has_file (' app/scripts/' .name.' .js' )
2658+ return s: EditSimpleRb (a: cmd ,' javascript' ,name,' app/scripts/' ,' .js' ,1 )
2659+ else
2660+ return s: EditSimpleRb (a: cmd ,' javascript' ,name,' public/javascripts/' ,' .js' ,1 )
2661+ endif
26502662endfunction
26512663
26522664function ! s: unittestEdit (cmd,... )
0 commit comments