From 1f08c4eda7608b182512222dbacccf665595ef8a Mon Sep 17 00:00:00 2001 From: isaacST08 Date: Thu, 23 Jan 2025 16:08:31 -0700 Subject: [PATCH] Starting modularizing tex.nix into smaller sections --- modules/plugins/languages/default.nix | 2 +- .../languages/{tex.nix => tex/default.nix} | 45 ++++++++++--------- modules/plugins/languages/tex/treesitter.nix | 39 ++++++++++++++++ 3 files changed, 65 insertions(+), 21 deletions(-) rename modules/plugins/languages/{tex.nix => tex/default.nix} (96%) create mode 100644 modules/plugins/languages/tex/treesitter.nix diff --git a/modules/plugins/languages/default.nix b/modules/plugins/languages/default.nix index 4f717309..5313ccba 100644 --- a/modules/plugins/languages/default.nix +++ b/modules/plugins/languages/default.nix @@ -35,7 +35,7 @@ in { ./svelte.nix ./tailwind.nix ./terraform.nix - ./tex.nix + ./tex ./ts.nix ./typst.nix ./vala.nix diff --git a/modules/plugins/languages/tex.nix b/modules/plugins/languages/tex/default.nix similarity index 96% rename from modules/plugins/languages/tex.nix rename to modules/plugins/languages/tex/default.nix index e39a4be3..54811783 100644 --- a/modules/plugins/languages/tex.nix +++ b/modules/plugins/languages/tex/default.nix @@ -142,20 +142,25 @@ custom = buildConfig: buildConfig.custom.args; }; in { + + imports = [ + ./treesitter.nix + ]; + options.vim.languages.tex = { enable = mkEnableOption "Tex support"; - # Treesitter options for latex and bibtex flavours of tex. - treesitter = { - latex = { - enable = mkEnableTreesitterOption "Whether to enable Latex treesitter"; - package = mkGrammarOption pkgs "latex"; - }; - bibtex = { - enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter"; - package = mkGrammarOption pkgs "bibtex"; - }; - }; + # # Treesitter options for latex and bibtex flavours of tex. + # treesitter = { + # latex = { + # enable = mkEnableTreesitterOption "Whether to enable Latex treesitter"; + # package = mkGrammarOption pkgs "latex"; + # }; + # bibtex = { + # enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter"; + # package = mkGrammarOption pkgs "bibtex"; + # }; + # }; # LSP options # Because tex LSPs also including building/compiling tex, they have @@ -485,15 +490,15 @@ in { }; config = mkIf cfg.enable (mkMerge [ - # Treesitter - (mkIf cfg.treesitter.latex.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.latex.package]; - }) - (mkIf cfg.treesitter.bibtex.enable { - vim.treesitter.enable = true; - vim.treesitter.grammars = [cfg.treesitter.bibtex.package]; - }) + # # Treesitter + # (mkIf cfg.treesitter.latex.enable { + # vim.treesitter.enable = true; + # vim.treesitter.grammars = [cfg.treesitter.latex.package]; + # }) + # (mkIf cfg.treesitter.bibtex.enable { + # vim.treesitter.enable = true; + # vim.treesitter.grammars = [cfg.treesitter.bibtex.package]; + # }) # LSP (mkIf (any (x: x.enable) (attrValues cfg.lsp)) ( diff --git a/modules/plugins/languages/tex/treesitter.nix b/modules/plugins/languages/tex/treesitter.nix new file mode 100644 index 00000000..3b70165e --- /dev/null +++ b/modules/plugins/languages/tex/treesitter.nix @@ -0,0 +1,39 @@ +{ + config, + pkgs, + lib, + ... +}: +let + inherit (lib.options) mkEnableOption; + inherit (lib.modules) mkIf mkMerge; + inherit (lib.nvim.types) mkGrammarOption; + + cfg = config.vim.languages.tex; + + mkEnableTreesitterOption = + description: mkEnableOption description // { default = config.vim.languages.enableTreesitter; }; +in +{ + options.vim.languages.tex.treesitter = { + latex = { + enable = mkEnableTreesitterOption "Whether to enable Latex treesitter"; + package = mkGrammarOption pkgs "latex"; + }; + bibtex = { + enable = mkEnableTreesitterOption "Whether to enable Bibtex treesitter"; + package = mkGrammarOption pkgs "bibtex"; + }; + }; + + config = mkIf cfg.enable (mkMerge [ + (mkIf cfg.treesitter.latex.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [ cfg.treesitter.latex.package ]; + }) + (mkIf cfg.treesitter.bibtex.enable { + vim.treesitter.enable = true; + vim.treesitter.grammars = [ cfg.treesitter.bibtex.package ]; + }) + ]); +}