summaryrefslogtreecommitdiff
path: root/dged.nix
diff options
context:
space:
mode:
Diffstat (limited to 'dged.nix')
-rw-r--r--dged.nix50
1 files changed, 47 insertions, 3 deletions
diff --git a/dged.nix b/dged.nix
index a529004..39b32e1 100644
--- a/dged.nix
+++ b/dged.nix
@@ -33,26 +33,70 @@ stdenv.mkDerivation {
'';
TREESITTER_GRAMMARS = with tree-sitter-grammars;
- linkFarm "tree-sitter-grammars" {
+ linkFarm "tree-sitter-grammars" rec {
"bash" = tree-sitter-bash;
"c" = tree-sitter-c;
+ "cpp" = tree-sitter-cpp.overrideAttrs (_: {
+ # TODO: better, this works kinda ok but maybe should be more flexible
+ postInstall = ''
+ echo "" >> "$out"/queries/highlights.scm
+ echo ";; Inserted from C" >> "$out"/queries/highlights.scm
+ cat "${tree-sitter-c}"/queries/highlights.scm >> "$out"/queries/highlights.scm
+ '';
+ });
"rust" = tree-sitter-rust;
"nix" = tree-sitter-nix;
"python" = tree-sitter-python;
"make" = tree-sitter-make;
+ "markdown" = tree-sitter-markdown;
+ "javascript" = tree-sitter.buildGrammar {
+ language = "javascript";
+ version = "0.20.4";
+ src = fetchFromGitHub {
+ owner = "tree-sitter";
+ repo = "tree-sitter-javascript";
+ rev = "v0.20.4";
+ hash = "sha256-HhqYqU1CwPxXMHp21unRekFDzpGVedlgh/4bsplhe9c=";
+ };
+ };
+ "typescript" = tree-sitter.buildGrammar {
+ language = "typescript";
+ version = "0.20.6";
+ location = "typescript";
+ src = fetchFromGitHub {
+ owner = "tree-sitter";
+ repo = "tree-sitter-typescript";
+ rev = "v0.20.6";
+ hash = "sha256-uGuwE1eTVEkuosMfTeY2akHB+bJ5npWEwUv+23nhY9M=";
+ };
+
+ postInstall = ''
+ cd ..
+ cp -r queries $out
+ '';
+ };
"qmljs" = tree-sitter.buildGrammar {
language = "qmljs";
version = "0.1.2";
src = fetchFromGitHub {
owner = "yuja";
repo = "tree-sitter-qmljs";
- rev = "master";
+ rev = "9fa49ff3315987f715ce5666ff979a7742fa8a98";
hash = "sha256-q20gLVLs0LpqRpgo/qNRDfExbWXhICWZjM1ux4+AT6M=";
};
- # remove broken symlinks
+
+ # remove and fix broken symlinks
postInstall = ''
unlink "$out/queries/highlights-javascript.scm"
unlink "$out/queries/highlights-typescript.scm"
+
+ echo "" >> "$out"/queries/highlights.scm
+ echo ";; Inserted from javascript" >> "$out"/queries/highlights.scm
+ cat "${javascript}"/queries/highlights.scm >> "$out"/queries/highlights.scm
+
+ echo "" >> "$out"/queries/highlights.scm
+ echo ";; Inserted from typescript" >> "$out"/queries/highlights.scm
+ cat "${typescript}"/queries/highlights.scm >> "$out"/queries/highlights.scm
'';
};
"gitcommit" = tree-sitter.buildGrammar {