diff options
| author | awy <awy@awy.one> | 2025-10-20 20:55:26 +0300 | 
|---|---|---|
| committer | awy <awy@awy.one> | 2025-10-20 20:55:26 +0300 | 
| commit | 662dafc52b2c8a9426bb2197ab9246a8cda318e4 (patch) | |
| tree | f9d1f20e3864360bf941fd6bc02848ed77b037a8 /.config/nvim/lsp/smithy_ls.lua | |
| parent | 8131d9f2898b991a2d2c7a2ac601ce9e07cc9c9f (diff) | |
| download | hyprdots-662dafc52b2c8a9426bb2197ab9246a8cda318e4.tar.gz | |
nvqw
Diffstat (limited to '.config/nvim/lsp/smithy_ls.lua')
| -rw-r--r-- | .config/nvim/lsp/smithy_ls.lua | 44 | 
1 files changed, 44 insertions, 0 deletions
diff --git a/.config/nvim/lsp/smithy_ls.lua b/.config/nvim/lsp/smithy_ls.lua new file mode 100644 index 0000000..7118e05 --- /dev/null +++ b/.config/nvim/lsp/smithy_ls.lua @@ -0,0 +1,44 @@ +---@brief +--- +--- https://github.com/awslabs/smithy-language-server +--- +--- "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 +---    ``` + +---@type vim.lsp.Config +return { +  -- 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, +    }, +  }, +}  |