IntelliJ plugin for the Structurizr DSL
Adds Structurizr DSL language support to IntelliJ.
Structurizr DSL is a domain specific language for creating architecture models and diagrams
using Simon Brown's C4 model.
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,
by filing an issue,
or by starting a discussion.
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 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,
instead of via lexer based highlighting.
Installation
Search for "Structurizr" in the marketplace, and install the plugin. Please refer to IntelliJ's
documentation 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
- ...