Skip to content

sinon/tree-sitter-structurizr

tree-sitter-structurizr

Structurizr editor tooling built around the strz LSP, linter built on top of a Tree-sitter grammar for .dsl.

What are you here for?

Using strz with Zed today

Today the most reliable setup is local and explicit: install a Rust toolchain, build strz, then point Zed at that binary.

  1. Build the binary:
cargo build -p strz --bin strz --release
  1. Verify the binary works:
./target/release/strz check your-workspace.dsl
./target/release/strz server
  1. Install the zed-structurizr extension.

Note

The extension currently needs to be installed manually as it is pre-release. In the future the extension will download strz if not installed on the system.

  1. Point Zed at it:
{
  "lsp": {
    "strz-lsp": {
      "binary": {
        "path": "~/path/to/tree-sitter-structurizr/target/release/strz"
      }
    }
  }
}

What works today

  • syntax, include, and bounded semantic diagnostics
  • document symbols
  • keyword/directive and style-property completion
  • hover for the current bounded identifier families, with source-derived metadata summaries
  • go-to-definition, find-references, and type-definition for the currently supported reference shapes
  • directive path links and path-opening fallbacks

What is still intentionally conservative

  • this
  • selector-style references such as system.api
  • named dynamic relationship reference sites
  • rename, workspace symbols, semantic tokens, and code actions

For deeper status, delivery, and configuration detail, continue with:

Contributing

For grammar, analysis, LSP, benchmarking, and release workflow, start with CONTRIBUTING.md.

For the current LSP architecture, status, and doc map, start with docs/lsp/README.md.

License and upstream provenance

Original code in this repository is available under either the MIT License (LICENSE-MIT) or the Apache License, Version 2.0 (LICENSE-APACHE).

This repository also includes material copied or adapted from the Apache-2.0 licensed Structurizr DSL project in structurizr/structurizr, predominantly consisting of checked-in .dsl samples and fixtures.

These consist of:

References

About

Structurizr LSP and tree-sitter grammar

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Contributing

Stars

Watchers

Forks

Contributors