Merge pull request #230751 from DamienCassou/emacs-tree-sitter-grammars

This commit is contained in:
Damien Cassou 2023-05-16 20:20:20 +02:00 committed by GitHub
commit 2a26bcd60c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 0 deletions

View file

@ -73,6 +73,8 @@ in
tree-sitter-langs = callPackage ./manual-packages/tree-sitter-langs { final = self; };
treesit-grammars = callPackage ./manual-packages/treesit-grammars { };
tsc = callPackage ./manual-packages/tsc { };
urweb-mode = callPackage ./manual-packages/urweb-mode { };

View file

@ -0,0 +1,19 @@
{ pkgs, lib, tree-sitter, ... }:
let
libExt = pkgs.stdenv.targetPlatform.extensions.sharedLibrary;
grammarToAttrSet = drv:
{
name = "lib/lib${lib.strings.removeSuffix "-grammar" (lib.strings.getName drv)}${libExt}";
path = "${drv}/parser";
};
in
{
with-all-grammars = pkgs.linkFarm "emacs-treesit-grammars"
(map grammarToAttrSet pkgs.tree-sitter.allGrammars);
# Use this one like this:
# treesit-grammars.with-grammars (grammars: with grammars; [tree-sitter-bash])
with-grammars = fn: pkgs.linkFarm "emacs-treesit-grammars"
(map grammarToAttrSet (fn pkgs.tree-sitter.builtGrammars));
}