Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Page properties


TitleCreate a new Solidity Language Server (SLS) using Solang Compiler
Status

Status
colourBlueGreen
titleApplication ReviewCOMPLETED

Difficulty

  

Status
colourRed
titleHIGH


...

  • Extend Solang in the existing rust code base to include language server binary
  • Implement Syntax Highlighting
  • Symbol DefinitionHovers
  • Diagnostics for errors and warnings
  • test cases

...

hyperledger chat: sbalikondwar


Project Results

During the mentorship a language server was developed which used Solang compiler as its backend to process Solidity files.

The server is implemented in Rust using tower-lsp as a base framework to process client(editor)-server requests.

A vscode extension was also developed in TypeScript to use the server providing features:

  1. Syntax highlighting and bracket completion.
  2. Diagnostic info of compiler errors, warnings and hints.
  3. Hovers for different types of variable, struct, enum, function definitions.

The code is present on github under hyperledger-labs at https://github.com/hyperledger-labs/solang-vscode.

Checkout the readme page to learn how to use it.

A visual demo video of the implementation is uploaded here.

The project plan contains technicalities of how the client-server communication process takes place. 

Final Report

Hyperledger Mentorship presentation slides(google slides link)

View file
nameslspresentation.pdf
height250

Lightening Talk Recording

View file
nameCreate a new Solidity Language Server (SLS) using Solang Compiler.mp4
height250