aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2025-07-18 23:02:48 -0400
committerGitHub <noreply@github.com>2025-07-18 20:02:48 -0700
commitb6591bc885331a951eb8d3b05cc390e2da01d76f (patch)
treecb0b57018aa528c1640190cc71e01ca6cbfd220d
parentfeat(svelte): notify LSP of changes in JS/TS files #3958 (diff)
downloadnvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar.gz
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar.bz2
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar.lz
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar.xz
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.tar.zst
nvim-lspconfig-b6591bc885331a951eb8d3b05cc390e2da01d76f.zip
docs(smithy): how do you install this thing #3961
-rw-r--r--lsp/smithy_ls.lua39
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,
+ },
+ },
}