46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{ pkgs, lib, ... }:
|
|
let
|
|
kts-src = pkgs.unstable.kak-tree-sitter-unwrapped.src;
|
|
in
|
|
with pkgs.tree-sitter-grammars;
|
|
{
|
|
xdg.configFile."kak-tree-sitter/config.toml".text =
|
|
lib.foldlAttrs
|
|
(
|
|
acc: name: vals:
|
|
acc
|
|
+ ''
|
|
[language.${name}.grammar.source.local]
|
|
path = "${vals.parser}"
|
|
[language.${name}.queries.source.local]
|
|
path = "${vals.queries}"
|
|
[language.${name}.queries]
|
|
path = "${vals.queries}"
|
|
''
|
|
)
|
|
""
|
|
{
|
|
nix = {
|
|
parser = tree-sitter-nix + "/parser";
|
|
queries = tree-sitter-nix + "/queries";
|
|
};
|
|
|
|
scss = {
|
|
parser = tree-sitter-scss + "/parser";
|
|
queries = tree-sitter-scss + "/queries";
|
|
};
|
|
css = {
|
|
parser = tree-sitter-css + "/parser";
|
|
queries = tree-sitter-css + "/queries";
|
|
};
|
|
|
|
javascript = {
|
|
parser = tree-sitter-javascript + "/parser";
|
|
queries = tree-sitter-javascript + "/queries";
|
|
};
|
|
typescript = {
|
|
parser = tree-sitter-typescript + "/parser";
|
|
queries = kts-src + "/runtime/queries/typescript";
|
|
};
|
|
};
|
|
}
|