You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
651 B
VimL
23 lines
651 B
VimL
7 years ago
|
" Author: Eddie Lebow https://github.com/elebow
|
||
|
" Description: Functions for integrating with Ruby tools
|
||
|
|
||
|
" Find the nearest dir contining "app", "db", and "config", and assume it is
|
||
|
" the root of a Rails app.
|
||
|
function! ale#ruby#FindRailsRoot(buffer) abort
|
||
|
for l:name in ['app', 'config', 'db']
|
||
|
let l:dir = fnamemodify(
|
||
|
\ ale#path#FindNearestDirectory(a:buffer, l:name),
|
||
|
\ ':h:h'
|
||
|
\)
|
||
|
|
||
|
if l:dir isnot# '.'
|
||
|
\&& isdirectory(l:dir . '/app')
|
||
|
\&& isdirectory(l:dir . '/config')
|
||
|
\&& isdirectory(l:dir . '/db')
|
||
|
return l:dir
|
||
|
endif
|
||
|
endfor
|
||
|
|
||
|
return ''
|
||
|
endfunction
|