From b7c77998f3548e8500e1715a8c2317bdb0f6536e Mon Sep 17 00:00:00 2001 From: Andrea Ciceri Date: Wed, 8 Jan 2025 15:19:59 +0100 Subject: [PATCH] Emacs `kdl-ts-mode` --- hmModules/emacs/init.el | 2 ++ packages/emacs/default.nix | 7 ++++++- packages/emacs/packages.nix | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index acb1726..9e9c419 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -561,6 +561,8 @@ (use-package sh-mode :hook (sh-mode . bash-ts-mode)) +(use-package kdl-ts-mode + :mode "\\.kdl\\'") (use-package gptscript-mode :mode "\\.gpt\\'") diff --git a/packages/emacs/default.nix b/packages/emacs/default.nix index 9bb0125..cfff445 100644 --- a/packages/emacs/default.nix +++ b/packages/emacs/default.nix @@ -11,7 +11,12 @@ let inputs.emacs-overlay.overlays.emacs ] ); - all-grammars = pkgs'.tree-sitter.withPlugins builtins.attrValues; + pkgs-with-tree-sitter-kdl = + (builtins.getFlake "github:aciceri/nixpkgs/23a675ee8313427610cf129dd2b52a69bf6a2a26") + .legacyPackages.${pkgs.stdenv.system}; + # TODO remove when merged: https://github.com/NixOS/nixpkgs/pull/371287/files + # all-grammars = pkgs'.tree-sitter.withPlugins builtins.attrValues; + all-grammars = pkgs-with-tree-sitter-kdl.tree-sitter.withPlugins builtins.attrValues; treesitGrammars = pkgs'.runCommand "treesit-grammars" { } '' mkdir $out for f in ${all-grammars}/* diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index 8300a07..a3d9f0d 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -78,6 +78,16 @@ let cp -r $src/data $LISPDIR ''; }; + kdl-ts-mode = buildEmacsPackage { + name = "kdl-ts-mode"; + src = pkgs.fetchFromGitHub { + owner = "dataphract"; + repo = "kdl-ts-mode"; + rev = "3dbf116cd19261d8d70f456ae3385e1d20208452"; + hash = "sha256-4bfKUzzLhBFg4TeGQD0dClumcO4caIBU8/uRncFVVFQ="; + }; + deps = [ ]; + }; }; # *List* containing emacs packages from (M)ELPA