diff options
Diffstat (limited to 'lsp/smithy_ls.lua')
| -rw-r--r-- | lsp/smithy_ls.lua | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/lsp/smithy_ls.lua b/lsp/smithy_ls.lua index adc5e505..7a53adcd 100644 --- a/lsp/smithy_ls.lua +++ b/lsp/smithy_ls.lua @@ -2,13 +2,42 @@ --- --- https://github.com/awslabs/smithy-language-server --- ---- `Smithy Language Server`, A Language Server Protocol implementation for the Smithy IDL - --- pass 0 as the first argument to use STDIN/STDOUT for communication -local cmd = { 'smithy-language-server', '0' } +--- "Smithy Language Server", a Language server for the Smithy IDL. +--- +--- smithy-language-server has no docs that say how to actually install it(?), so look at: +--- https://github.com/smithy-lang/smithy-vscode/blob/600cfcf0db65edce85f02e6d50f5fa2b0862bc8d/src/extension.ts#L78 +--- +--- Maven package: https://central.sonatype.com/artifact/software.amazon.smithy/smithy-language-server +--- +--- Installation: +--- 1. Install coursier, or any tool that can install maven packages. +--- ``` +--- brew install coursier +--- ``` +--- 2. The LS is auto-installed and launched by: +--- ``` +--- coursier launch software.amazon.smithy:smithy-language-server:0.7.0 +--- ``` return { - cmd = cmd, + -- pass 0 as the first argument to use STDIN/STDOUT for communication + cmd = { + 'coursier', + 'launch', + 'software.amazon.smithy:smithy-language-server:0.7.0', + '-M', + 'software.amazon.smithy.lsp.Main', + '--', + '0', + }, filetypes = { 'smithy' }, root_markers = { 'smithy-build.json', 'build.gradle', 'build.gradle.kts', '.git' }, + message_level = vim.lsp.protocol.MessageType.Log, + init_options = { + statusBarProvider = 'show-message', + isHttpEnabled = true, + compilerOptions = { + snippetAutoIndent = false, + }, + }, } |
