The Graphitron LSP, started by the dev goal of the Maven plugin (mvn graphitron:dev), parses GraphQL with a tree-sitter-based parser. That parser has two native pieces, and both ship with the LSP:

  • The GraphQL grammar (tree_sitter_graphql).

  • The tree-sitter runtime (libtree-sitter, exporting the ts_* symbols).

Both are bundled per-platform in the no.sikt:graphitron-tree-sitter-natives jar and extracted to temp files at startup. You do not install anything: there is no system dependency.

Supported host architectures

The bundled binaries cover four host platforms:

  • linux-x86_64

  • linux-aarch64

  • macos-aarch64

  • windows-x86_64

Intel-Mac (macos-x86_64) is not shipped. On an unsupported host the LSP fails fast at startup naming the os.name / os.arch it saw and the supported set.

Startup diagnostics

Because nothing is installed, the only native failure mode is the bundled runtime failing to load after it has been extracted from the jar. The LSP does not let the underlying UnsatisfiedLinkError surface raw; it reports a single startup error naming the temp path the runtime was extracted to. The usual causes:

  • noexec temp directory: the JVM’s java.io.tmpdir is mounted noexec, so the extracted shared library cannot be loaded. Point java.io.tmpdir at an exec-capable directory (for example -Djava.io.tmpdir=$HOME/.cache/graphitron).

  • Corrupt extract: the temp file was truncated or removed mid-session (an aggressive temp-cleaner, a full disk). Restart the LSP so it re-extracts.

  • Missing system C runtime: the host lacks a base C runtime the shared library links against. This is rare on the supported platforms; install your distribution’s base C runtime package.

See also