Skip to content

Commit 99d42c7

Browse files
committed
Add CoffeeScript support
1 parent fcba88c commit 99d42c7

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

autoload/rails.vim

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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,...)
26462651
endfunction
26472652

26482653
function! 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
26502662
endfunction
26512663

26522664
function! s:unittestEdit(cmd,...)

0 commit comments

Comments
 (0)