plum
git clone https://git.pyrossh.dev/plum
A statically typed, imperative programming language inspired by rust, python
plum-tooling/tree-sitter-plum/Makefile
TREE_SITTER := npx --yes tree-sitter-cli
build:
$(TREE_SITTER) generate
$(TREE_SITTER) build -o grammars/plum.so
corpus_test:
$(TREE_SITTER) generate
$(TREE_SITTER) test
# Rebuilds the grammar and (re)compiles it into Helix's runtime so editor
# highlighting/parsing picks up grammar.js/query changes. Requires
# ~/.helix/languages.toml (or $XDG_CONFIG_HOME/helix/languages.toml) to
# already have a [[grammar]] entry for "plum" pointing at this directory.
#
# `hx --grammar build` rebuilds every grammar in languages.toml and exits
# non-zero if ANY of them fail, even ones unrelated to plum, so failure here
# is only real if "plum" itself isn't in the built/already-built list.
helix: build
hx --grammar build 2>&1 | tee /tmp/plum-hx-grammar-build.log; \
grep -qE '"plum"' /tmp/plum-hx-grammar-build.log