diff options
-rw-r--r-- | autoload/ale/c.vim | 9 | ||||
-rw-r--r-- | test/test_c_flag_parsing.vader | 6 |
2 files changed, 7 insertions, 8 deletions
diff --git a/autoload/ale/c.vim b/autoload/ale/c.vim index 746d19b0..6175082e 100644 --- a/autoload/ale/c.vim +++ b/autoload/ale/c.vim @@ -200,14 +200,14 @@ function! s:GetLookupFromCompileCommandsFile(compile_commands_file) abort return l:empty endfunction -function! ale#c#ParseCompileCommandsFlags(buffer, dir, file_lookup, dir_lookup) abort +function! ale#c#ParseCompileCommandsFlags(buffer, file_lookup, dir_lookup) abort " Search for an exact file match first. let l:basename = tolower(expand('#' . a:buffer . ':t')) let l:file_list = get(a:file_lookup, l:basename, []) for l:item in l:file_list if bufnr(l:item.file) is a:buffer - return ale#c#ParseCFlags(a:dir, l:item.command) + return ale#c#ParseCFlags(l:item.directory, l:item.command) endif endfor @@ -219,7 +219,7 @@ function! ale#c#ParseCompileCommandsFlags(buffer, dir, file_lookup, dir_lookup) for l:item in l:dir_list if ale#path#Simplify(fnamemodify(l:item.file, ':h')) is? l:dir - return ale#c#ParseCFlags(a:dir, l:item.command) + return ale#c#ParseCFlags(l:item.directory, l:item.command) endif endfor @@ -227,12 +227,11 @@ function! ale#c#ParseCompileCommandsFlags(buffer, dir, file_lookup, dir_lookup) endfunction function! ale#c#FlagsFromCompileCommands(buffer, compile_commands_file) abort - let l:dir = ale#path#Dirname(a:compile_commands_file) let l:lookups = s:GetLookupFromCompileCommandsFile(a:compile_commands_file) let l:file_lookup = l:lookups[0] let l:dir_lookup = l:lookups[1] - return ale#c#ParseCompileCommandsFlags(a:buffer, l:dir, l:file_lookup, l:dir_lookup) + return ale#c#ParseCompileCommandsFlags(a:buffer, l:file_lookup, l:dir_lookup) endfunction function! ale#c#GetCFlags(buffer, output) abort diff --git a/test/test_c_flag_parsing.vader b/test/test_c_flag_parsing.vader index 4c23c711..b187ffec 100644 --- a/test/test_c_flag_parsing.vader +++ b/test/test_c_flag_parsing.vader @@ -161,14 +161,14 @@ Execute(FlagsFromCompileCommands should tolerate empty values): AssertEqual '', ale#c#FlagsFromCompileCommands(bufnr(''), '') Execute(ParseCompileCommandsFlags should tolerate empty values): - AssertEqual '', ale#c#ParseCompileCommandsFlags(bufnr(''), '', {}, {}) + AssertEqual '', ale#c#ParseCompileCommandsFlags(bufnr(''), {}, {}) Execute(ParseCompileCommandsFlags should parse some basic flags): noautocmd execute 'file! ' . fnameescape(ale#path#Simplify('/foo/bar/xmms2-mpris/src/xmms2-mpris.c')) AssertEqual \ '-I' . ale#path#Simplify('/usr/include/xmms2'), - \ ale#c#ParseCompileCommandsFlags(bufnr(''), ale#path#Simplify('/foo/bar/xmms2-mpris'), { "xmms2-mpris.c": [ + \ ale#c#ParseCompileCommandsFlags(bufnr(''), { "xmms2-mpris.c": [ \ { \ 'directory': ale#path#Simplify('/foo/bar/xmms2-mpris'), \ 'command': '/usr/bin/cc -I' . ale#path#Simplify('/usr/include/xmms2') @@ -183,7 +183,7 @@ Execute(ParseCompileCommandsFlags should fall back to files in the same director AssertEqual \ '-I' . ale#path#Simplify('/usr/include/xmms2'), - \ ale#c#ParseCompileCommandsFlags(bufnr(''), ale#path#Simplify('/foo/bar/xmms2-mpris'), {}, { "src": [ + \ ale#c#ParseCompileCommandsFlags(bufnr(''), {}, { "src": [ \ { \ 'directory': ale#path#Simplify('/foo/bar/xmms2-mpris'), \ 'command': '/usr/bin/cc -I' . ale#path#Simplify('/usr/include/xmms2') |