diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2a58c54 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,16 @@ +# Contributing + +Any suggestions, bugs, testing, pull-requests, issues are very welcome. + +## Development + +More info on [README#install](./README.md#install) page section. + +## TODO + +- write Formatter +- write Completion Contributor +- write Reference Contributor +- plugin actions +- connect with the compiler (get semantic info) +- ... diff --git a/README.md b/README.md index 0be4e86..63abc1c 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ -# [RHOlang][rho-github] IntelliJ IDEA language plugin +# [Rholang][rho-github] IntelliJ IDEA language plugin ![beta][beta-badge] -This is the early stage of editor support for [RHOlang][rho-github]. :smile: +This is the early stage of editor support for [Rholang][rho-github]. :smile: -RHOlang is official language for [RChain][rchain-coop] distributed virtual machine. Is is currently in active development and syntax can slightly change. Current version of plugin follows this version of [RHO grammar][rho-bnf] and available examples. +Rholang is official language for [RChain][rchain-coop] distributed virtual machine. Is is currently in active development and syntax can slightly change. Current version of plugin follows this version of [Rho grammar][rho-bnf] and available examples. I tried to make parser more forgiving so it can highlight wider range of correct programs. With more context information it could be much more precise. For now this will not recognize `*my_chan.ref[index]!(my_val)` although I'm not sure whether this is a valid syntax. -I found interesting that many grammar rules have a strong gravity towards `Proc`ess :cyclone: but that should not be strange for π-calculus, _λ-expression_ is not the main _actor_ here. Which reminds me that RHOlang can be interesting to Erlang/Elixir programmers who knows how hard is to coordinate the names of processes. With _reflective higher-order_ super powers that comes with the compiler and type checker it will be pleasure to write smart contracts. +I found interesting that many grammar rules have a strong gravity towards `Proc`ess :cyclone: but that should not be strange for π-calculus, _λ-expression_ is not the main _actor_ here. Which reminds me that Rholang can be interesting to Erlang/Elixir programmers who knows how hard is to coordinate the names of processes. With _reflective higher-order_ super powers that comes with the compiler and type checker it will be pleasure to write smart contracts. > The π-calculus is elegantly simple, it has very few terms and so is a very small language, yet is very expressive. Functional programs can be encoded into the π-calculus, and the encoding emphasises the dialogue nature of computation, drawing connections with game semantics. [Wikipedia][pi-wiki] @@ -24,7 +24,7 @@ From IntelliJ IDEA [plugins repository][rho-idea] searchable inside the editor. Or download **rholang-idea.jar** from the latest [release][releases] and install through [File > Settings > Plugins][idea-install-from-disk] menu. -## Contribute +## [Contributing](./CONTRIBUTING.md) Any suggestions, bugs, testing, pull-requests, issues are very welcome. @@ -37,7 +37,7 @@ Any suggestions, bugs, testing, pull-requests, issues are very welcome. - create new Plugin Run configuration with default setup - run/debug in a separate editor -## TODO +### TODO - write Formatter - write Completion Contributor diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index e5af1fc..018b6db 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,17 +1,18 @@ coop.rchain.lang - RHOlang - 0.0.1 + Rholang + 0.0.2 RChain.coop RHOlang. + Language support for Rholang. Official language for RChain distributed virtual machine.

]]>
+
  • 0.0.2: Update plugin name.
  • 0.0.1: Syntax highlighting and comments support. Initial version.
  • ]]> @@ -27,11 +28,11 @@ - - - + + + - + diff --git a/src/coop/rchain/lang/RhoColorSettingsPage.kt b/src/coop/rchain/lang/RhoColorSettingsPage.kt index 24c990a..d083b94 100644 --- a/src/coop/rchain/lang/RhoColorSettingsPage.kt +++ b/src/coop/rchain/lang/RhoColorSettingsPage.kt @@ -37,7 +37,7 @@ contract HelloWorld( world1 = ColorDescriptor.EMPTY_ARRAY diff --git a/src/coop/rchain/lang/RhoFileType.kt b/src/coop/rchain/lang/RhoFileType.kt index 896c69c..4f34544 100644 --- a/src/coop/rchain/lang/RhoFileType.kt +++ b/src/coop/rchain/lang/RhoFileType.kt @@ -15,7 +15,7 @@ class RhoFileTypeFactory : FileTypeFactory() { class RhoFileType private constructor() : LanguageFileType(RhoLanguage.INSTANCE) { override fun getName(): String { - return "RHOlang file" + return "Rholang file" } override fun getDescription(): String { diff --git a/src/coop/rchain/lang/RhoLanguage.kt b/src/coop/rchain/lang/RhoLanguage.kt index 942bdab..aee1ef1 100644 --- a/src/coop/rchain/lang/RhoLanguage.kt +++ b/src/coop/rchain/lang/RhoLanguage.kt @@ -2,10 +2,10 @@ package coop.rchain.lang import com.intellij.lang.Language -class RhoLanguage private constructor() : Language("RHOlang") { +class RhoLanguage private constructor() : Language("Rholang") { override fun isCaseSensitive() = true - override fun getDisplayName() = "RHOlang" + override fun getDisplayName() = "Rholang" companion object { val INSTANCE = RhoLanguage() diff --git a/src/coop/rchain/lang/psi/RhoFile.kt b/src/coop/rchain/lang/psi/RhoFile.kt index 2534cf8..477f4c0 100644 --- a/src/coop/rchain/lang/psi/RhoFile.kt +++ b/src/coop/rchain/lang/psi/RhoFile.kt @@ -15,7 +15,7 @@ class RhoFile(viewProvider: FileViewProvider) : PsiFileBase(viewProvider, RhoLan } override fun toString(): String { - return "RHOlang File" + return "Rholang File" } override fun getIcon(flags: Int): Icon? {