Solidity: Implement LSP / Language Server

Created on 20 Nov 2019  路  2Comments  路  Source: ethereum/solidity

The main task in this issue is probably identifying the steps towards full LSP support.

feature

Most helpful comment

After reading somewhat into the official specification, I'd say this ticket first is not about fully implementing it but about having it started and got some initial support done.

Here are the steps I'd propose:

  1. Implement a very simple solidity language server (I called it solsp - naming is a .... can be changed later ;-) ) that basically just reads messages, parses them, pretty prints them to the logging stream (so we get an idea what language clients are talking).
  2. Figure out how we can get VS code talking to custom LSPs (I don't know this)
  3. Decide which of these message need implementation; this is probably an incremental step.
  4. Make sure this solsp works at least with VS Code as well as vim (coc-vim)
  5. Have some documentation on how to set up VScode/vim for using this language server.

My proposal would be to start with the following features:

  • compile error feedback (NB: we need to preserve the AST after compilation)
  • semantic symbol highlighting
  • tooltips (signature info, api documentation, ...)
  • auto completion - this one may be a little trickier, let's see.

All 2 comments

After reading somewhat into the official specification, I'd say this ticket first is not about fully implementing it but about having it started and got some initial support done.

Here are the steps I'd propose:

  1. Implement a very simple solidity language server (I called it solsp - naming is a .... can be changed later ;-) ) that basically just reads messages, parses them, pretty prints them to the logging stream (so we get an idea what language clients are talking).
  2. Figure out how we can get VS code talking to custom LSPs (I don't know this)
  3. Decide which of these message need implementation; this is probably an incremental step.
  4. Make sure this solsp works at least with VS Code as well as vim (coc-vim)
  5. Have some documentation on how to set up VScode/vim for using this language server.

My proposal would be to start with the following features:

  • compile error feedback (NB: we need to preserve the AST after compilation)
  • semantic symbol highlighting
  • tooltips (signature info, api documentation, ...)
  • auto completion - this one may be a little trickier, let's see.

moved back to To Do as we agreed on holding it back due to other priorities for now (for 2-4 weeks)

Was this page helpful?
0 / 5 - 0 ratings