From bf636c95e218804c516712f08663a72c1ac52203 Mon Sep 17 00:00:00 2001 From: Lazar Bulovan Date: Sun, 19 Jul 2026 15:09:59 +0200 Subject: [PATCH] docs: initial README explaining purpose and how the registry works --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1da6ae5 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# 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