Remove ProcessChain code we do not need now

This commit is contained in:
w0rp 2019-02-13 17:56:10 +00:00
parent 21a8b9f1e3
commit 3050a132b5
No known key found for this signature in database
GPG Key ID: 0FC1ECAA8C81CD83
2 changed files with 38 additions and 76 deletions

View File

@ -462,53 +462,49 @@ function! ale#engine#ProcessChain(buffer, executable, linter, chain_index, input
let l:chain_index = a:chain_index
let l:input = a:input
if has_key(a:linter, 'command_chain')
while l:chain_index < len(a:linter.command_chain)
" Run a chain of commands, one asynchronous command after the other,
" so that many programs can be run in a sequence.
let l:chain_item = a:linter.command_chain[l:chain_index]
while l:chain_index < len(a:linter.command_chain)
" Run a chain of commands, one asynchronous command after the other,
" so that many programs can be run in a sequence.
let l:chain_item = a:linter.command_chain[l:chain_index]
if l:chain_index == 0
" The first callback in the chain takes only a buffer number.
let l:command = ale#util#GetFunction(l:chain_item.callback)(
\ a:buffer
\)
else
" The second callback in the chain takes some input too.
let l:command = ale#util#GetFunction(l:chain_item.callback)(
\ a:buffer,
\ l:input
\)
if l:chain_index == 0
" The first callback in the chain takes only a buffer number.
let l:command = ale#util#GetFunction(l:chain_item.callback)(
\ a:buffer
\)
else
" The second callback in the chain takes some input too.
let l:command = ale#util#GetFunction(l:chain_item.callback)(
\ a:buffer,
\ l:input
\)
endif
" If we have a command to run, execute that.
if !empty(l:command)
" The chain item can override the output_stream option.
if has_key(l:chain_item, 'output_stream')
let l:output_stream = l:chain_item.output_stream
endif
" If we have a command to run, execute that.
if !empty(l:command)
" The chain item can override the output_stream option.
if has_key(l:chain_item, 'output_stream')
let l:output_stream = l:chain_item.output_stream
endif
" The chain item can override the read_buffer option.
if has_key(l:chain_item, 'read_buffer')
let l:read_buffer = l:chain_item.read_buffer
elseif l:chain_index != len(a:linter.command_chain) - 1
" Don't read the buffer for commands besides the last one
" in the chain by default.
let l:read_buffer = 0
endif
break
" The chain item can override the read_buffer option.
if has_key(l:chain_item, 'read_buffer')
let l:read_buffer = l:chain_item.read_buffer
elseif l:chain_index != len(a:linter.command_chain) - 1
" Don't read the buffer for commands besides the last one
" in the chain by default.
let l:read_buffer = 0
endif
" Command chain items can return an empty string to indicate that
" a command should be skipped, so we should try the next item
" with no input.
let l:input = []
let l:chain_index += 1
endwhile
else
let l:command = ale#linter#GetCommand(a:buffer, a:linter)
endif
break
endif
" Command chain items can return an empty string to indicate that
" a command should be skipped, so we should try the next item
" with no input.
let l:input = []
let l:chain_index += 1
endwhile
return [l:command, {
\ 'executable': a:executable,

View File

@ -67,40 +67,6 @@ Execute(Engine invocation should return the command for the fourth item correctl
AssertEqual 'fourth', g:result.command
AssertEqual 4, g:result.next_chain_index
Execute(Engine invocation should return the command for a single callback correctly):
unlet g:linter.command_chain
let g:linter.command_callback = 'FirstChainFunction'
let g:result = ProcessIndex(0)
AssertEqual 'first', g:result.command
Execute(Engine invocation should return the command for a command string correctly):
unlet g:linter.command_chain
let g:linter.command = 'foo bar'
let g:result = ProcessIndex(0)
AssertEqual 'foo bar', g:result.command
Execute(Engine invocation should process read_buffer correctly for simple commands):
unlet g:linter.command_chain
let g:linter.command = 'foo bar'
let g:linter.read_buffer = 0
let g:result = ProcessIndex(0)
AssertEqual 'foo bar', g:result.command
AssertEqual 0, g:result.read_buffer
let g:linter.command_callback = 'FirstChainFunction'
unlet g:linter.command
let g:result = ProcessIndex(0)
AssertEqual 'first', g:result.command
AssertEqual 0, g:result.read_buffer
Execute(Engine invocation should allow read_buffer to be enabled for a command in the middle of a chain):
let g:linter.command_chain[2].read_buffer = 1