diff --git a/autoload/ale/engine.vim b/autoload/ale/engine.vim index 340f691304..6b312b4f4f 100644 --- a/autoload/ale/engine.vim +++ b/autoload/ale/engine.vim @@ -107,24 +107,36 @@ endfunction " Register a temporary file to be managed with the ALE engine for " a current job run. function! ale#engine#ManageFile(buffer, filename) abort - " TODO: Emit deprecation warning here later. + if !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom ''ale#engine#ManageFile is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + call ale#command#ManageFile(a:buffer, a:filename) endfunction " Same as the above, but manage an entire directory. function! ale#engine#ManageDirectory(buffer, directory) abort - " TODO: Emit deprecation warning here later. + if !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom ''ale#engine#ManageDirectory is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + call ale#command#ManageDirectory(a:buffer, a:directory) endfunction function! ale#engine#CreateFile(buffer) abort - " TODO: Emit deprecation warning here later. + if !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom ''ale#engine#CreateFile is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + return ale#command#CreateFile(a:buffer) endfunction " Create a new temporary directory and manage it in one go. function! ale#engine#CreateDirectory(buffer) abort - " TODO: Emit deprecation warning here later. + if !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom ''ale#engine#CreateDirectory is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + return ale#command#CreateDirectory(a:buffer) endfunction diff --git a/autoload/ale/fix.vim b/autoload/ale/fix.vim index b867460636..c0f05611a4 100644 --- a/autoload/ale/fix.vim +++ b/autoload/ale/fix.vim @@ -117,6 +117,10 @@ function! s:HandleExit(job_info, buffer, job_output, data) abort let l:input = a:job_info.input endif + if l:ChainCallback isnot v:null && !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom ''chain_with is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + let l:next_index = l:ChainCallback is v:null \ ? a:job_info.callback_index + 1 \ : a:job_info.callback_index diff --git a/autoload/ale/linter.vim b/autoload/ale/linter.vim index d680391d2f..273778c75f 100644 --- a/autoload/ale/linter.vim +++ b/autoload/ale/linter.vim @@ -340,7 +340,13 @@ function! ale#linter#PreProcess(filetype, linter) abort throw '`aliases` must be a List of String values' endif - " TODO: Emit deprecation warnings for deprecated options later. + for l:key in filter(keys(l:obj), 'v:val[-9:] is# ''_callback'' || v:val is# ''command_chain''') + if !get(g:, 'ale_ignore_2_4_warnings') + execute 'echom l:key . '' is deprecated. Use `let g:ale_ignore_2_4_warnings = 1` to disable this message.''' + endif + + break + endfor return l:obj endfunction diff --git a/test/lsp/test_reset_lsp.vader b/test/lsp/test_reset_lsp.vader index 4a1a155e32..310b3d6291 100644 --- a/test/lsp/test_reset_lsp.vader +++ b/test/lsp/test_reset_lsp.vader @@ -25,10 +25,10 @@ Before: call ale#linter#Define('testft', { \ 'name': 'lsplinter', \ 'lsp': 'tsserver', - \ 'executable_callback': 'EmptyString', - \ 'command_callback': 'EmptyString', - \ 'project_root_callback': 'EmptyString', - \ 'language_callback': 'EmptyString', + \ 'executable': function('EmptyString'), + \ 'command': function('EmptyString'), + \ 'project_root': function('EmptyString'), + \ 'language': function('EmptyString'), \}) call ale#linter#Define('testft', { diff --git a/test/vimrc b/test/vimrc index 9548f86175..018b8f67c1 100644 --- a/test/vimrc +++ b/test/vimrc @@ -35,3 +35,5 @@ set ttimeoutlen=0 execute 'set encoding=utf-8' let g:mapleader=',' + +let g:ale_ignore_2_4_warnings = 1