Commit e151c437 authored by figsoda's avatar figsoda
Browse files

vimPlugins.nvim-treesitter.grammarToPlugin: init

parent c2b3b7f4
Loading
Loading
Loading
Loading
+21 −21
Original line number Diff line number Diff line
@@ -27,16 +27,7 @@ let
      })
    generatedDerivations;

  allGrammars = lib.attrValues generatedDerivations;

  # Usage:
  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ])
  # or for all grammars:
  # pkgs.vimPlugins.nvim-treesitter.withAllGrammars
  withPlugins =
    f: self.nvim-treesitter.overrideAttrs (_: {
      passthru.dependencies = map
        (grammar:
  grammarToPlugin = grammar:
    let
      name = lib.pipe grammar [
        lib.getName
@@ -53,8 +44,17 @@ let
    runCommand "nvim-treesitter-${name}-grammar" { } ''
      mkdir -p $out/parser
      ln -s ${grammar}/parser $out/parser/${name}.so
          ''
        )
    '';

  allGrammars = lib.attrValues generatedDerivations;

  # Usage:
  # pkgs.vimPlugins.nvim-treesitter.withPlugins (p: [ p.c p.java ... ])
  # or for all grammars:
  # pkgs.vimPlugins.nvim-treesitter.withAllGrammars
  withPlugins =
    f: self.nvim-treesitter.overrideAttrs (_: {
      passthru.dependencies = map grammarToPlugin
        (f (tree-sitter.builtGrammars // builtGrammars));
    });

@@ -67,7 +67,7 @@ in
  '';

  passthru = {
    inherit builtGrammars allGrammars withPlugins withAllGrammars;
    inherit builtGrammars allGrammars grammarToPlugin withPlugins withAllGrammars;

    tests.check-queries =
      let