solidity-ls
solidity-ls copied to clipboard
Solidity language server.
solidity-ls 



This language server has no error tolerance. Means that some features will only work if sources are no syntax error.
For example:
// should not work
msg.
^
// should work
msg.;
^
Features
- completion
-
local variables, state variables, functions
-
contracts
-
globally variables and it's members
-
struct members
-
external contract functions
-
-
diagnostics
-
hover documention
-
references
- rename
- signature help (basic implementation)
- go to references
- go to definition
Usage
npm i solidity-ls -g
solidity-ls --stdio
or
npx solidity-ls --stdio
coc.nvim
:CocInstall coc-solidity
neovim lsp
More info: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#solidity
local lspconfig = require 'lspconfig'
lspconfig.solidity.setup({
-- on_attach = on_attach, -- probably you will need this.
-- capabilities = capabilities,
settings = {
-- example of global remapping
solidity = {
includePath = '',
remapping = { ["@OpenZeppelin/"] = 'OpenZeppelin/[email protected]/' },
-- Array of paths to pass as --allow-paths to solc
allowPaths = {}
}
},
})
foundry supports
run forge remappings > remappings.txt in project root.