From 84b5700555b3359d63551bae4dfc0ce25c9c3bfd Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Fri, 17 Nov 2023 04:16:32 -0800 Subject: [PATCH] Add QML syntax packages to emacs --- modules/emacs/default.nix | 36 ++++++++++++++++++++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/modules/emacs/default.nix b/modules/emacs/default.nix index 7f38352..5fca514 100644 --- a/modules/emacs/default.nix +++ b/modules/emacs/default.nix @@ -1,6 +1,25 @@ { inputs, config, pkgs, ... }: let newpkgs = pkgs.appendOverlays - (with inputs.emacs-overlay.overlays; [ emacs package ]); + (with inputs.emacs-overlay.overlays; [ + emacs + package + + (final: prev: { + tree-sitter = prev.tree-sitter.override { + extraGrammars = { + tree-sitter-qmljs = { + version = "master"; + src = pkgs.fetchFromGitHub { + owner = "yuja"; + repo = "tree-sitter-qmljs"; + rev = "35ead5b9955cdb29bcf709d622fa960ff33992b6"; + sha256 = "jT47lEGuk6YUjcHB0ZMyL3i5PqyUaCQmt0j78cUpy8Q="; + }; + }; + }; + }; + }) + ]); tree-sitter-parsers = grammars: with grammars; [ tree-sitter-bash @@ -28,6 +47,7 @@ tree-sitter-nix tree-sitter-prisma tree-sitter-python + tree-sitter-qmljs tree-sitter-regex tree-sitter-rust tree-sitter-scss @@ -41,7 +61,18 @@ custom-emacs = with newpkgs; - ((emacsPackagesFor (emacs29-pgtk.override { withNativeCompilation = true; })).emacsWithPackages (epkgs: with epkgs; [ + ((emacsPackagesFor (emacs29-pgtk.override { withNativeCompilation = true; })).emacsWithPackages (epkgs: with epkgs; let + qml-ts-mode = trivialBuild { + pname = "qml-ts-mode"; + version = "master"; + src = fetchFromGitHub { + owner = "outfoxxed"; + repo = "qml-ts-mode"; + rev = "b24b9e78305ed045baa136782623ad16de01b7b8"; + sha256 = "PgXm/a92cX5zjA9blTrIRH7DfOUczRwb9oBcMMEzF2I="; + }; + }; + in [ avy better-jumper company @@ -68,6 +99,7 @@ nasm-mode nix-mode reformatter # required by nix mode projectile + qml-ts-mode rainbow-mode string-inflection (treesit-grammars.with-grammars (grammars: tree-sitter-parsers grammars))