This is an IntelliJ plugin that adds support for the Gno programming language. It allows IntelliJ to recognize .gno
files and provides basic functionality for working with Gno files in the IDE.
- Basic file recognition for Gno files
- Integration with IntelliJ IDEA
- Syntax highlighting for
.gno
files - Code completion for
Gno keywords
- Code formatting for
Gno files
- Error highlighting and code analysis
- Navigation support
To install this plugin in IntelliJ IDEA, follow these steps:
-
Clone this repository to your local machine:
git clone https://github.com/gnolang/intellij-gno.git
-
Open the project in IntelliJ IDEA.
-
Build the plugin with Gradle:
./gradlew build
-
After building, you can install the plugin by following these steps:
- Go to File > Settings > Plugins.
- Click on the gear icon ⚙️ and select Install Plugin from Disk.
- Navigate to the
build/distributions
directory and select the.zip
file generated by the build.
-
Restart IntelliJ IDEA to activate the plugin.
Once the plugin is installed, IntelliJ IDEA will automatically recognize .gno
files. You can create new .gno
files or open existing ones, and the plugin will provide syntax highlighting and basic language support.
- Right-click on a directory in the Project view.
- Select New > File.
- Name your file with a
.gno
extension (e.g.,myfile.gno
). - Start writing your Gno code!
To contribute or modify this plugin, follow these steps:
-
Fork the repository and clone it:
git clone https://github.com/gnolang/intellij-gno.git
-
Open the project in IntelliJ IDEA.
-
Make sure you have the required dependencies installed by running:
./gradlew build
-
Run the plugin in a sandbox environment:
./gradlew runIde
This will launch a new instance of IntelliJ IDEA with the plugin loaded in a sandbox environment for testing.
To build the plugin for distribution, use the following command:
./gradlew buildPlugin
The generated plugin file will be located in the build/distributions
directory as a .zip
file, which can be shared or uploaded to the JetBrains Plugin Repository.
Contributions are welcome! ✌🏼
This project is licensed under the APACHE License. See the LICENSE file for more details.