plugins/haskell-scope-highlighting: init + test

Add warning for Treesitter dependency

Co-authored-by: Gaétan Lepage <33058747+GaetanLepage@users.noreply.github.com>

add test for highlights, add package

tweak warning message

enable treesitter in tests

suggested change
This commit is contained in:
Gustavo Araiza 2024-01-26 11:31:34 -06:00 committed by Gaétan Lepage
parent 43f3cb7ab2
commit 3958364809
3 changed files with 51 additions and 2 deletions

View file

@ -46,6 +46,7 @@
./languages/clangd-extensions.nix ./languages/clangd-extensions.nix
./languages/debugprint.nix ./languages/debugprint.nix
./languages/haskell-scope-highlighting.nix
./languages/julia/julia-cell.nix ./languages/julia/julia-cell.nix
./languages/lean.nix ./languages/lean.nix
./languages/ledger.nix ./languages/ledger.nix
@ -61,15 +62,15 @@
./languages/tagbar.nix ./languages/tagbar.nix
./languages/treesitter/hmts.nix ./languages/treesitter/hmts.nix
./languages/treesitter/rainbow-delimiters.nix ./languages/treesitter/rainbow-delimiters.nix
./languages/treesitter/treesitter.nix
./languages/treesitter/treesitter-context.nix ./languages/treesitter/treesitter-context.nix
./languages/treesitter/treesitter-playground.nix ./languages/treesitter/treesitter-playground.nix
./languages/treesitter/treesitter-refactor.nix ./languages/treesitter/treesitter-refactor.nix
./languages/treesitter/treesitter-textobjects.nix ./languages/treesitter/treesitter-textobjects.nix
./languages/treesitter/treesitter.nix
./languages/treesitter/ts-autotag.nix ./languages/treesitter/ts-autotag.nix
./languages/treesitter/ts-context-commentstring.nix ./languages/treesitter/ts-context-commentstring.nix
./languages/typst/typst-vim.nix
./languages/typescript-tools.nix ./languages/typescript-tools.nix
./languages/typst/typst-vim.nix
./languages/vim-slime.nix ./languages/vim-slime.nix
./languages/vimtex.nix ./languages/vimtex.nix
./languages/zig.nix ./languages/zig.nix

View file

@ -0,0 +1,24 @@
{
lib,
pkgs,
helpers,
config,
...
}:
with lib; let
cfg = config.plugins.haskell-scope-highlighting;
in {
options.plugins.haskell-scope-highlighting = {
enable = mkEnableOption "haskell-scope-highlighting";
package = helpers.mkPackageOption "haskell-scope-highlighting" pkgs.vimPlugins.haskell-scope-highlighting-nvim;
};
config = mkIf cfg.enable {
warnings = optional (!config.plugins.treesitter.enable) ''
Nixvim (plugins.haskell-scope-highlighting): haskell-scope-highlighting needs treesitter to function as intended. Please, enable it by setting `plugins.treesitter.enable` to `true`.
'';
extraPlugins = [cfg.package];
};
}

View file

@ -0,0 +1,24 @@
{
empty = {
plugins.haskell-scope-highlighting.enable = true;
plugins.treesitter.enable = true;
};
testHaskellHighlights = {
plugins.haskell-scope-highlighting.enable = true;
plugins.treesitter.enable = true;
highlight = {
HaskellCurrentScope.bg = "black";
HaskellParentScope1.bg = "black";
HaskellParentScope2.bg = "black";
HaskellParentScope3.bg = "black";
HaskellVariableDeclarationWithinScope.bg = "black";
HaskellVariableDeclaredWithinFile.bg = "black";
HaskellVariableDeclaredWithinParent1.bg = "black";
HaskellVariableDeclaredWithinParent2.bg = "black";
HaskellVariableDeclaredWithinParent3.bg = "black";
HaskellVariableDeclaredWithinScope.bg = "black";
HaskellVariableNotDeclaredWithinFile.bg = "black";
};
};
}