Skip to content

Commit dcae61e

Browse files
committed
Add tab completion of Sass files with :Rstylesheet
1 parent 25e520c commit dcae61e

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

autoload/rails.vim

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,20 @@ function! s:compact(ary)
4444
return s:sub(s:sub(s:gsub(a:ary,'\n\n+','\n'),'\n$',''),'^\n','')
4545
endfunction
4646

47+
function! s:uniq(list)
48+
let seen = {}
49+
let i = 0
50+
while i < len(a:list)
51+
if has_key(seen,a:list[i])
52+
call remove(a:list, i)
53+
else
54+
let seen[a:list[i]] = 1
55+
let i += 1
56+
endif
57+
endwhile
58+
return a:list
59+
endfunction
60+
4761
function! s:scrub(collection,item)
4862
" Removes item from a newline separated collection
4963
let col = "\n" . a:collection
@@ -2229,7 +2243,12 @@ function! s:layoutList(A,L,P)
22292243
endfunction
22302244

22312245
function! s:stylesheetList(A,L,P)
2232-
return s:completion_filter(rails#app().relglob("public/stylesheets/","**/*",".css"),a:A)
2246+
let list = rails#app().relglob('public/stylesheets/','**/*','.css')
2247+
if rails#app().has('sass')
2248+
call extend(list,rails#app().relglob('public/stylesheets/sass/','**/*','.s?ss'))
2249+
call s:uniq(list)
2250+
endif
2251+
return s:completion_filter(list,a:A)
22332252
endfunction
22342253

22352254
function! s:javascriptList(A,L,P)

0 commit comments

Comments
 (0)