Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/pantheontech/yanginator

YANGinator
https://github.com/pantheontech/yanginator

Last synced: 27 days ago
JSON representation

YANGinator

Awesome Lists containing this project

README

        

[![Latest Release](https://img.shields.io/github/v/release/PANTHEONtech/YANGinator)](https://plugins.jetbrains.com/plugin/17935-yanginator)
[![License](https://img.shields.io/github/license/PANTHEONtech/YANGinator)](https://github.com/PANTHEONtech/YANGinator/blob/master/LICENSE)
[![Java CI with Gradle](https://github.com/PANTHEONtech/YANGinator/actions/workflows/gradle.yml/badge.svg)](https://github.com/PANTHEONtech/YANGinator/actions/workflows/gradle.yml)
[![InteliJ Compatibility Verification](https://github.com/PANTHEONtech/YANGinator/actions/workflows/compatibility.yml/badge.svg?event=schedule)](https://github.com/PANTHEONtech/YANGinator/blob/master/COMPATIBLE.version)
[![Known Vulnerabilities](https://snyk.io/test/github/PANTHEONtech/YANGinator/badge.svg)](https://snyk.io/test/github/PANTHEONtech/YANGinator)

YANGinator | An IntelliJ YANG Validation Plugin
=============

This [IntelliJ](https://www.jetbrains.com/idea/) plugin adds support for validating YANG files. Developers and
enthusiasts will have the option to validate their YANG files before deployment.

***Note:***
Please note that the YANGinator plugin does not completely follow the rfc, because of performance, error recovery,
comment support and other reasons. All these deviations are documented [here](rfc-parser/docs/ModelDeviations.md)

# Features

- Base validation for [YANG 1.0](https://datatracker.ietf.org/doc/html/rfc6020) and [YANG 1.1](https://datatracker.ietf.org/doc/html/rfc7950)
- Syntax highlighting
- Auto completion
- Code folding (curly brackets, multi-line strings, multi-line comments)
- Commenting
- Paired brace matcher
- Breadcrumbs support
- Go to declaration
- Code formatting

# Development Environment

Follow this
tutorial [IntelliJ Custom Language Support Tutorial](https://plugins.jetbrains.com/docs/intellij/custom-language-support-tutorial.html)
to add custom lanugage support in IntelliJ.

# Installing YANGinator

### 1. Install YANGinator

The easiest way to find the *Plugins* window in IntelliJ, is by using the *Search everywhere* window (by default,
double-tap the Shift key). Search for *plugins*.

You can also find YANGinator in
the [official IntelliJ Marketplace here.](https://plugins.jetbrains.com/plugin/17935-yanginator)

### 2. Search for YANGinator

In the newly opened *Plugins* window, search for *YANGinator*.

![Install Plugin IntelliJ](docs/images/installation/install_plugin.gif)

### 3. Restart IDE

The YANGinator plugin will be enabled after restart.

### 4. Register *New File Type* Association

- Open any YANG file.

- Open the *Register New File Type Association* window.

- The easiest way to do so is, by using the *Search Everywhere* window.

Search for *Associate with file type..*

- Select *Open matching files* in IntelliJ IDEA:
- Select *Yang*

4.4 Press OK button.

![install plugin from disk.png](docs/images/installation/tutorial_new_file_type_association.png)

### 5. Enjoy YANGinator

YANGinator will be enabled by now. Enjoy!

### 6. Help Us Continue

If you found a bug, problem, or have an idea for a possible feature, create
an [Issue here](https://github.com/PANTHEONtech/YANGinator/issues).

*Please browse the open issues before opening a new one.*

6.1 If YANGinator helped you, consider giving the repository a star!

### 7. Happy coding!