neovim: move functions out of grammarToPlugin scope
This commit is contained in:
@@ -259,6 +259,30 @@ let
|
||||
inherit lua;
|
||||
};
|
||||
|
||||
toGrammarName = lib.flip lib.pipe [
|
||||
lib.getName
|
||||
|
||||
# added in buildGrammar
|
||||
(lib.removeSuffix "-grammar")
|
||||
|
||||
# grammars from tree-sitter.builtGrammars
|
||||
(lib.removePrefix "tree-sitter-")
|
||||
(lib.replaceStrings [ "-" ] [ "_" ])
|
||||
];
|
||||
|
||||
nvimGrammars = lib.mapAttrsToList (
|
||||
name: value:
|
||||
value.origGrammar
|
||||
or (throw "additions to `pkgs.vimPlugins.nvim-treesitter.grammarPlugins` set should be passed through `pkgs.neovimUtils.grammarToPlugin` first")
|
||||
) vimPlugins.nvim-treesitter.grammarPlugins;
|
||||
|
||||
isNvimGrammar = x: builtins.elem x nvimGrammars;
|
||||
|
||||
toNvimTreesitterGrammar = makeSetupHook {
|
||||
name = "to-nvim-treesitter-grammar";
|
||||
meta.license = lib.licenses.mit;
|
||||
} ./to-nvim-treesitter-grammar.sh;
|
||||
|
||||
grammarToPlugin =
|
||||
grammar:
|
||||
# If the grammar has already been processed by this function, return it as-is.
|
||||
@@ -268,28 +292,7 @@ let
|
||||
grammar
|
||||
else
|
||||
let
|
||||
name = lib.pipe grammar [
|
||||
lib.getName
|
||||
|
||||
# added in buildGrammar
|
||||
(lib.removeSuffix "-grammar")
|
||||
|
||||
# grammars from tree-sitter.builtGrammars
|
||||
(lib.removePrefix "tree-sitter-")
|
||||
(lib.replaceStrings [ "-" ] [ "_" ])
|
||||
];
|
||||
|
||||
nvimGrammars = lib.mapAttrsToList (
|
||||
name: value:
|
||||
value.origGrammar
|
||||
or (throw "additions to `pkgs.vimPlugins.nvim-treesitter.grammarPlugins` set should be passed through `pkgs.neovimUtils.grammarToPlugin` first")
|
||||
) vimPlugins.nvim-treesitter.grammarPlugins;
|
||||
isNvimGrammar = x: builtins.elem x nvimGrammars;
|
||||
|
||||
toNvimTreesitterGrammar = makeSetupHook {
|
||||
name = "to-nvim-treesitter-grammar";
|
||||
meta.license = lib.licenses.mit;
|
||||
} ./to-nvim-treesitter-grammar.sh;
|
||||
name = toGrammarName grammar;
|
||||
in
|
||||
|
||||
(toVimPlugin (
|
||||
|
||||
Reference in New Issue
Block a user