1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
---@brief
---
---https://github.com/qiuxiang/solidity-ls
--
-- npm i solidity-ls -g
--
-- Make sure that solc is installed and it's the same version of the file. solc-select is recommended.
--
-- Solidity language server is a LSP with autocomplete, go to definition and diagnostics.
--
-- If you use brownie, use this root_markers:
-- root_markers = { 'brownie-config.yaml', '.git' }
--
-- on includePath, you can add an extra path to search for external libs, on remapping you can remap lib <> path, like:
--
-- ```lua
-- { solidity = { includePath = '/Users/your_user/.brownie/packages/', remapping = { ["@OpenZeppelin/"] = 'OpenZeppelin/openzeppelin-contracts@4.6.0/' } } }
-- ```
--
-- **For brownie users**
-- Change the root_markers to:
--
-- ```lua
-- root_markers = { 'brownie-config.yaml', '.git' }
-- ```
--
-- The best way of using it is to have a package.json in your project folder with the packages that you will use.
-- After installing with package.json, just create a `remappings.txt` with:
--
-- ```
-- @OpenZeppelin/=node_modules/OpenZeppelin/openzeppelin-contracts@4.6.0/
-- ```
--
-- You can omit the node_modules as well.
return {
cmd = { 'solidity-ls', '--stdio' },
filetypes = { 'solidity' },
root_markers = { '.git', 'package.json' },
settings = { solidity = { includePath = '', remapping = {} } },
}
|