tgrospic / rholang-vscode

Rholang extension for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=tgrospic.rholang
MIT License
9 stars 6 forks source link
rchain rchain-coop rholang rholang-language-sever syntax-highlighting visual-studio-code

Rholang for VSCode

This is Visual Studio Code extension for Rholang programming language. It has support for syntax highlighting and code evaluation with error highlighting.

Rholang is a fully featured, general purpose, Turing-complete programming language built from the rho-calculus. It is a behaviorally typed, r-eflective, h-igher o-rder process language and the official smart contracting language of RChain. Its purpose is to concretize fine-grained, programmatic concurrency. RChain Architecture

Rholang is currently in active development and syntax can slightly change. Current version of the plugin follows this version of Rho grammar and available examples.

Programmers in concurrent languages such as Erlang/Elixir say that one of the hardest problems is to coordinate the names (locations) of processes. It seems that Rholang with Namespace logic looks like a great solution for coordination of resources.

With all this sweet superpowers, that comes with the Rholang compiler and type checker, it is a pleasure to write (smart) contracts. :lollipop:

How to use this extension

Just open your favorite .rho file, write some exciting Rholang code, save the file and enjoy the results in VSCode Output Panel. :smile:

Rho sample

In the Output Panel you can see the progress when RNode instance is starting in the background. It will output the message and create notification when it's ready to evaluate the code.

The Language Server is enabled and runs locally installed RNode by default. If RNode is not installed (not in the path, in extension settings it can be switched to use Docker or set custom RNode executable location.

Settings Default Description
Enable Language Server true Enable loading of the Language Server and RNode when open a file.
Enable Docker false Run RNode with Docker.
RNode rnode RNode executable (path) used by Rholang Language Server.
RNode Docker Image rchain/rnode Docker image (version) used by Rholang Language Server.
Show All Output false Show all output from RNode in Output Panel.

Currently, one RNode instance is created with one VSCode instance. For each RNode instance unique temp directory is created which holds .rnode data directory. If VSCode window is reloaded it will create a fresh instance of RNode also.

Learn Rholang By Example

If you are new to Rholang I recommend to visit Joshy Orndorff's excellent introduction Learn Rholang By Example for beginners and intermediate programmers.

TODO

Publish

Visual Studio Code Marketplace

vsce publish -p <token>

Open VSX Registry

ovsx publish -p <token>

Release Notes

0.7.0 (March 13, 2022)

0.6.5 (May 30, 2021)

0.6.0 (October 06, 2019)

0.5.0 (June 13, 2019)

0.4.0 (May 18, 2019)

0.3.0 (April 20, 2019)

0.2.0 (February 11, 2019)

0.1.0 (February 02, 2019)

0.0.1 (January 28, 2018)

License

The MIT License (MIT)