Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/qiuxiang/solidity-ls

Solidity language server.
https://github.com/qiuxiang/solidity-ls

language-server solidity

Last synced: 2 months ago
JSON representation

Solidity language server.

Awesome Lists containing this project

README

        

[npm]: https://www.npmjs.com/package/solidity-ls
[npm-badge]: https://img.shields.io/npm/v/solidity-ls.svg

# solidity-ls [![npm-badge]][npm]

imageimageimage

This language server has no error tolerance.
Means that some features will only work if sources are no syntax error.

For example:

```solidity
// should not work
msg.
^

// should work
msg.;
^
```

# Features

- completion
-
local variables, state variables, functions
image
image

-
contracts
image

-
globally variables and it's members
image
image

-
struct members
image

-
external contract functions
image

-
diagnostics
image
image

-
hover documention
image
image

-
references
image

- 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

```lua
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.