From 044c762c85a8a1b79dc2728fad4c593195293303 Mon Sep 17 00:00:00 2001 From: Horacio Sanson Date: Tue, 4 Sep 2018 21:40:35 +0900 Subject: [PATCH] Add solargraph.yml file as root path search file. Solargraph allows to set configuration options by creating a .solargraph.yml file at the root of the project using it. Therfore this file is a good canditate for finding ruby projects root paths. Initial discussion: https://github.com/w0rp/ale/issues/1874#issuecomment-418316168 --- autoload/ale/ruby.vim | 2 +- test/command_callback/test_ruby_solargraph.vader | 7 +++++++ test/ruby_fixtures/valid_ruby_app3/.solargraph.yml | 0 test/ruby_fixtures/valid_ruby_app3/lib/file.rb | 0 4 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 test/ruby_fixtures/valid_ruby_app3/.solargraph.yml create mode 100644 test/ruby_fixtures/valid_ruby_app3/lib/file.rb diff --git a/autoload/ale/ruby.vim b/autoload/ale/ruby.vim index f0d84296..5f0aa50d 100644 --- a/autoload/ale/ruby.vim +++ b/autoload/ale/ruby.vim @@ -29,7 +29,7 @@ function! ale#ruby#FindProjectRoot(buffer) abort return l:dir endif - for l:name in ['Rakefile', 'Gemfile'] + for l:name in ['.solargraph.yml', 'Rakefile', 'Gemfile'] let l:dir = fnamemodify( \ ale#path#FindNearestFile(a:buffer, l:name), \ ':h' diff --git a/test/command_callback/test_ruby_solargraph.vader b/test/command_callback/test_ruby_solargraph.vader index a27cb62d..b9dd46d8 100644 --- a/test/command_callback/test_ruby_solargraph.vader +++ b/test/command_callback/test_ruby_solargraph.vader @@ -27,3 +27,10 @@ Execute(should set solargraph for ruby app2): AssertLSPOptions {} AssertLSPProject ale#path#Simplify(g:dir . 'command_callback/../ruby_fixtures/valid_ruby_app2') AssertLSPAddress '127.0.0.1:7658' + +Execute(should set solargraph for ruby app3): + call ale#test#SetFilename('../ruby_fixtures/valid_ruby_app3/lib/file.rb') + AssertLSPLanguage 'ruby' + AssertLSPOptions {} + AssertLSPProject ale#path#Simplify(g:dir . 'command_callback/../ruby_fixtures/valid_ruby_app3') + AssertLSPAddress '127.0.0.1:7658' diff --git a/test/ruby_fixtures/valid_ruby_app3/.solargraph.yml b/test/ruby_fixtures/valid_ruby_app3/.solargraph.yml new file mode 100644 index 00000000..e69de29b diff --git a/test/ruby_fixtures/valid_ruby_app3/lib/file.rb b/test/ruby_fixtures/valid_ruby_app3/lib/file.rb new file mode 100644 index 00000000..e69de29b