fix to build against tree-sitter 0.15

This commit is contained in:
2025-03-16 00:29:35 +00:00
parent c2fcc8b6ee
commit 9ccb867150
4 changed files with 65 additions and 39 deletions

View File

@@ -2,14 +2,28 @@
pkgs.tree-sitter.buildGrammar { pkgs.tree-sitter.buildGrammar {
src = ./.; src = ./.;
version = "0.1.0"; version = "0.2.0";
language = "nix-shell"; language = "nix-shell";
generate = true; generate = true;
location = "tree-sitter-nix-shell"; location = "tree-sitter-nix-shell";
checkPhase = ''
(cd ..; make test)
'';
nativeCheckInputs = with pkgs; [ htmlq ]; nativeCheckInputs = with pkgs; [ htmlq ];
checkPhase = ''
runHook preCheck
(cd ..; make test)
runHook postCheck
'';
doCheck = true; doCheck = true;
nativeInstallCheckInputs = with pkgs; [ tree ];
installCheckPhase = ''
runHook preInstallCheck
# make sure that all files i expect to be installed are actually installed
(test -x $out/parser && test -f $out/queries/highlights.scm && test -f $out/queries/injections.scm) || \
(tree $out; echo "expected output to contain /parser and /queries/"; false)
runHook postInstallCheck
'';
doInstallCheck = true;
} }

12
flake.lock generated
View File

@@ -5,11 +5,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1687709756, "lastModified": 1731533236,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -20,11 +20,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1688590700, "lastModified": 1741851582,
"narHash": "sha256-ZF055rIUP89cVwiLpG5xkJzx00gEuuGFF60Bs/LM3wc=", "narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "f292b4964cb71f9dfbbd30dc9f511d6165cd109b", "rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -1,29 +0,0 @@
{
"name": "tree-sitter-nix-shell",
"version": "0.0.1",
"description": "nix-shell grammar for tree-sitter",
"main": "bindings/node",
"keywords": [
"parsing",
"incremental"
],
"dependencies": {
"nan": "^2.12.1"
},
"devDependencies": {
"tree-sitter-cli": "^0.20.8"
},
"scripts": {
"test": "tree-sitter test"
},
"tree-sitter": [
{
"first-line-regex": "^#!.*\\bnix-shell\\b.*$",
"content-regex": "^\b$nix-shell wraps other languages so intentionally fail against (and yield to) those other language matches",
"injection-regex": "^(nix[-_]?shell)$",
"scope": "source.nix_shell",
"injections": [ "queries/injections.scm" ],
"highlights": [ "queries/highlights.scm" ]
}
]
}

View File

@@ -0,0 +1,41 @@
{
"$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/config.schema.json",
"grammars": [
{
"name": "nix_shell",
"camelcase": "NixShell",
"title": "NixShell",
"scope": "source.nix_shell",
"class-name": "TreeSitterNixShell",
"file-types": [ ],
"first-line-regex": "^#!.*\\bnix-shell\\b.*$",
"content-regex": "^\b$nix-shell wraps other languages so intentionally fail against (and yield to) those other language matches",
"injection-regex": "^(nix[-_]?shell)$",
"injections": [ "queries/injections.scm" ],
"highlights": [ "queries/highlights.scm" ]
}
],
"metadata": {
"version": "0.2.0",
"description": "understands languages encoded in #!nix-shell shebangs",
"authors": [
{
"name": "Colin",
"email": "colin@uninsane.org",
"url": "https://uninsane.org/"
}
],
"links": {
"repository": "https://git.uninsane.org/colin/tree-sitter-nix-shell"
}
},
"bindings": {
"c": true,
"go": true,
"node": true,
"python": true,
"rust": true,
"swift": true,
"zig": false
}
}