mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-02-01 04:57:55 +00:00
46 lines
1.1 KiB
Nix
46 lines
1.1 KiB
Nix
|
{ config, lib, ... }:
|
||
|
|
||
|
let
|
||
|
nixvimCfg = config.nixvimConfigs.trovebelt;
|
||
|
cfg = nixvimCfg.setups.treesitter;
|
||
|
in
|
||
|
{
|
||
|
options.nixvimConfigs.trovebelt.setups.treesitter.enable =
|
||
|
lib.mkEnableOption "tree-sitter setup with all parsers installed";
|
||
|
|
||
|
config = lib.mkIf cfg.enable {
|
||
|
plugins.treesitter = {
|
||
|
enable = true;
|
||
|
|
||
|
# Install all of the grammars with Nix. We can easily replace it if we
|
||
|
# want to.
|
||
|
nixGrammars = true;
|
||
|
ensureInstalled = lib.mkDefault "all";
|
||
|
nixvimInjections = true;
|
||
|
|
||
|
# Enable all of its useful features.
|
||
|
folding = true;
|
||
|
indent = true;
|
||
|
incrementalSelection.enable = true;
|
||
|
};
|
||
|
|
||
|
# Enable some more context for me.
|
||
|
plugins.treesitter-context = {
|
||
|
enable = true;
|
||
|
lineNumbers = true;
|
||
|
maxLines = 7;
|
||
|
mode = "cursor";
|
||
|
separator = "*";
|
||
|
};
|
||
|
|
||
|
# Some niceties for refactoring.
|
||
|
plugins.treesitter-refactor = {
|
||
|
enable = true;
|
||
|
highlightCurrentScope.enable = true;
|
||
|
highlightDefinitions.enable = true;
|
||
|
navigation.enable = true;
|
||
|
smartRename.enable = true;
|
||
|
};
|
||
|
};
|
||
|
}
|