Skip to content

qiuxiang/solidity-ls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

solidity-ls npm-badge

imageimageimage

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 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

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/openzeppelin-contracts@4.6.0/' },
        -- Array of paths to pass as --allow-paths to solc
        allowPaths = {}
    }
  },
})

foundry supports

run forge remappings > remappings.txt in project root.