...
Page properties | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
- 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
...
- Working knowledge of rust
- Understanding of the parsing and resolving stages of a compiler
Schedule
Please check the project plan for this.
Future plans
This is just the start of a language server. Many more features are possible in the language server protocol, e.g. refactoring.
...
twitter/telegram: iamseanyoung
Mentee Name and info
Shivam Balikondwar
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:
- Syntax highlighting and bracket completion.
- Diagnostic info of compiler errors, warnings and hints.
- 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 | ||||
---|---|---|---|---|
|
Lightening Talk Recording
View file | ||||
---|---|---|---|---|
|