# tia-mason-registry A custom [mason.nvim](https://github.com/mason-org/mason.nvim) registry that defines how to build and install the [`tia-lsp`](https://gitea.l-tech.rs/lazar/tia-lsp) language server for Siemens TIA Portal languages (SCL, with STL/AWL/LAD/FBD planned). This repository is not meant to be used directly or installed as a standalone plugin. It contains a single package recipe (`packages/tia-lsp/package.yaml`) that mason reads to know how to download `tia-lsp`, compile its tree-sitter parser, and place the `tia-lsp` executable on PATH. ## Usage See the [`tia-lsp.nvim` README](https://gitea.l-tech.rs/lazar/tia-lsp.nvim) for complete step-by-step installation instructions. ## How it works 1. Mason clones this registry to access `packages/tia-lsp/package.yaml` 2. The recipe clones the [`tia-lsp`](https://gitea.l-tech.rs/lazar/tia-lsp) source repository 3. It compiles `src/parser.c` into `parser.so` (the tree-sitter parser) 4. It creates a `bin/tia-lsp` shell script that runs `lua src/main.lua` 5. Mason places `tia-lsp` (and `parser.so`) in its managed package directory ## Requirements - [mason.nvim](https://github.com/mason-org/mason.nvim) 2.x - [yq](https://github.com/mikefarah/yq) — required by mason to parse YAML registries (install via `:MasonInstall yq`) - C compiler (`cc`) — required to build `parser.so` - Lua 5.1+ — runtime for the LSP server