Files

25 lines
1.4 KiB
Markdown

# 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