Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dirkgroot/structurizr-dsl-intellij-plugin
IntelliJ plugin for the Structurizr DSL
https://github.com/dirkgroot/structurizr-dsl-intellij-plugin
intellij-plugin structurizr structurizr-dsl syntax-highlighting
Last synced: 2 months ago
JSON representation
IntelliJ plugin for the Structurizr DSL
- Host: GitHub
- URL: https://github.com/dirkgroot/structurizr-dsl-intellij-plugin
- Owner: dirkgroot
- License: mit
- Created: 2022-11-04T13:44:44.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-13T17:58:58.000Z (2 months ago)
- Last Synced: 2024-11-13T18:40:57.313Z (2 months ago)
- Topics: intellij-plugin, structurizr, structurizr-dsl, syntax-highlighting
- Language: Kotlin
- Homepage:
- Size: 791 KB
- Stars: 53
- Watchers: 6
- Forks: 3
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin/actions/workflows/build.yml/badge.svg)](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin/actions/workflows/build.yml)
[![JetBrains Plugins](https://img.shields.io/jetbrains/plugin/v/nl.dirkgroot.structurizr-dsl-plugin?label=latest%20release)](https://plugins.jetbrains.com/plugin/20606-structurizr-dsl-language-support/versions)* [IntelliJ plugin for the Structurizr DSL](#intellij-plugin-for-the-structurizr-dsl)
* [Features](#features)
* [Decisions / limitations](#decisions--limitations)
* [Installation](#installation)
* [TODO](#todo)
* [Legend](#legend)
* [Features](#features-1)# IntelliJ plugin for the Structurizr DSL
Adds [Structurizr DSL](https://docs.structurizr.com/dsl) language support to IntelliJ.
Structurizr DSL is a domain specific language for creating architecture models and diagrams
using [Simon Brown](https://twitter.com/simonbrown)'s [C4 model](https://c4model.com).> **Note**
>
> This plugin is a **work in progress**! There may be bugs, and features that you might expect from a language plugin
> are missing. I'd love to get your feedback! You can leave feedback
> by [writing a review](https://plugins.jetbrains.com/plugin/20606-structurizr-dsl-language-support/reviews),
> by [filing an issue](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin/issues),
> or by [starting a discussion](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin/discussions).## Features
* Basic syntax highlighting for the Structurizr DSL language. Files with the `.dsl` extension are considered to be
Structurizr DSL files.
* Automatically indent and normalize spacing with IntelliJ's "Reformat Code" command.
* Automatically indent new code while typing
* Comment code using the "Comment with line/block comment" commands
* More to come! Please refer to the [TODO section](https://github.com/dirkgroot/structurizr-dsl-intellij-plugin#todo) of
the README for a list of features that will likely be added.## Decisions / limitations
- For now, arguments of statements are all treated as (un)quoted strings, so "true", "false", integers, (un)quoted text
will all get the same syntax highlighting.
- The following blocks are treated as property blocks, containing (un)quoted string pairs:
- perspectives
- properties
- users
- All arguments of view declarations are highlighted as (un)quoted strings. Correct highlighting of these arguments will
most likely be implemented using
an [annotator](https://plugins.jetbrains.com/docs/intellij/syntax-highlighting-and-error-highlighting.html#annotator),
instead of via lexer based highlighting.## Installation
Search for "Structurizr" in the marketplace, and install the plugin. Please refer to IntelliJ's
[documentation](https://www.jetbrains.com/help/idea/managing-plugins.html) for instructions on how to install plugins.## TODO
### Legend
- 🔳 = todo
- ☑️ = partially done
- ✅ = done### Features
- ✅ syntax highlighting
- ✅ token based
- ✅ annotator based
- ✅ reformat code
- ✅ auto indentation
- 🔳 go to definition
- 🔳 rename refactoring for identifiers
- 🔳 code validation
- 🔳 code completion
- 🔳 quick documentation
- 🔳 diagram preview
- ...