diff --git a/pkgs/by-name/ne/neovim-unwrapped/package.nix b/pkgs/by-name/ne/neovim-unwrapped/package.nix index b480f18a3827..3ea83dfa8bef 100644 --- a/pkgs/by-name/ne/neovim-unwrapped/package.nix +++ b/pkgs/by-name/ne/neovim-unwrapped/package.nix @@ -123,18 +123,31 @@ stdenv.mkDerivation ( inherit lua; treesitter-parsers = - treesitter-parsers - // { - markdown = treesitter-parsers.markdown // { - location = "tree-sitter-markdown"; - }; - } - // { - markdown_inline = treesitter-parsers.markdown // { - language = "markdown_inline"; - location = "tree-sitter-markdown-inline"; - }; - }; + lib.mapAttrs + ( + language: grammar: + tree-sitter.buildGrammar { + inherit (grammar) src; + version = "neovim-${finalAttrs.version}"; + language = grammar.language or language; + location = grammar.location or null; + } + ) + ( + treesitter-parsers + + // { + markdown = treesitter-parsers.markdown // { + location = "tree-sitter-markdown"; + }; + } + // { + markdown_inline = treesitter-parsers.markdown // { + language = "markdown_inline"; + location = "tree-sitter-markdown-inline"; + }; + } + ); buildInputs = [ libuv @@ -226,14 +239,7 @@ stdenv.mkDerivation ( + lib.concatStrings ( lib.mapAttrsToList (language: grammar: '' ln -s \ - ${ - tree-sitter.buildGrammar { - inherit (grammar) src; - version = "neovim-${finalAttrs.version}"; - language = grammar.language or language; - location = grammar.location or null; - } - }/parser \ + ${grammar}/parser \ $out/lib/nvim/parser/${language}.so '') finalAttrs.treesitter-parsers );