Close #830 - Implement LSP connections via TCP sockets

This commit is contained in:
w0rp
2018-07-03 01:41:46 +01:00
parent 5aba55bb86
commit e46474ac0a
3 changed files with 23 additions and 8 deletions

View File

@@ -2371,8 +2371,16 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
When this argument is set to `'stdio'`, then the
linter will be defined as an LSP linter which keeps a
process for a language server runnning, and
process for a language server running, and
communicates with it directly via a |channel|.
`executable` or `executable_callback` must be set,
and `command` or `command_callback` must be set.
When this argument is set to `'socket'`, then the
linter will be defined as an LSP linter via a TCP
socket connection. `address_callback` must be set
with a callback returning an address to connect to.
ALE will not start a server automatically.
When this argument is not empty, only one of either
`language` or `language_callback` must be defined,
@@ -2388,6 +2396,13 @@ ale#linter#Define(filetype, linter) *ale#linter#Define()*
`initialization_options_callback` may be defined to
pass initialization options to the LSP.
`address_callback` A |String| or |Funcref| for a callback function
accepting a buffer number. A |String| should be
returned with an address to connect to.
This argument must only be set if the `lsp` argument
is set to `'socket'`.
`project_root_callback` A |String| or |Funcref| for a callback function
accepting a buffer number. A |String| should be
returned representing the path to the project for the