From e8a7ef4199f7039bad18fd889dfd26546c8ce00b Mon Sep 17 00:00:00 2001 From: L Lllvvuu Date: Sat, 23 Sep 2023 02:08:55 -0700 Subject: [PATCH] feat(solidity_ls)!: switch to first-party npm package The unofficial npm package was only uploaded once, two years ago: https://www.npmjs.com/package/solidity-language-server There is now a first-party package: https://github.com/juanfranblanco/vscode-solidity/issues/432#issuecomment-1943584107 https://www.npmjs.com/package/vscode-solidity-server --- .../server_configurations/solidity_ls.lua | 30 +++++++++++++------ 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/lua/lspconfig/server_configurations/solidity_ls.lua b/lua/lspconfig/server_configurations/solidity_ls.lua index 4d4c4902d5..1183a9c80e 100644 --- a/lua/lspconfig/server_configurations/solidity_ls.lua +++ b/lua/lspconfig/server_configurations/solidity_ls.lua @@ -1,24 +1,36 @@ local util = require 'lspconfig.util' -local bin_name = 'solidity-language-server' -if vim.fn.has 'win32' == 1 then - bin_name = bin_name .. '.cmd' -end +local root_files = { + 'hardhat.config.js', + 'hardhat.config.ts', + 'foundry.toml', + 'remappings.txt', + 'truffle.js', + 'truffle-config.js', + 'ape-config.yaml', +} return { default_config = { - cmd = { bin_name, '--stdio' }, + cmd = { 'vscode-solidity-server', '--stdio' }, filetypes = { 'solidity' }, - root_dir = util.root_pattern('.git', 'package.json'), + root_dir = util.root_pattern(unpack(root_files)) or util.root_pattern('.git', 'package.json'), + single_file_support = true, }, docs = { description = [[ -npm install -g solidity-language-server +https://github.com/juanfranblanco/vscode-solidity + +`vscode-solidity-server` can be installed via `npm`: + +```sh +npm install -g vscode-solidity-server +``` -solidity-language-server is a language server for the solidity language ported from the vscode solidity extension +`vscode-solidity-server` is a language server for the Solidity language ported from the VSCode "solidity" extension. ]], default_config = { - root_dir = [[root_pattern(".git", "package.json")]], + root_dir = [[root_pattern("]] .. table.concat(root_files, '", "') .. [[", ".git", "package.json")]], }, }, }