From 19339ac3cd1b5c47a1f6729ceb8c50bfb02dcdca Mon Sep 17 00:00:00 2001 From: Venkatesan Ravi Date: Fri, 4 Apr 2025 17:41:44 +0000 Subject: [PATCH] mini/indentscope: add autocmd to disable indentscope in applicable filetypes --- docs/release-notes/rl-0.8.md | 1 + modules/plugins/mini/indentscope/config.nix | 16 ++++++++++++++++ .../plugins/mini/indentscope/indentscope.nix | 17 ++++++++++------- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 3642df7b..8d5562c4 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -295,6 +295,7 @@ - Add catppuccin integration for Bufferline, Lspsaga. - Add neo-tree integration for Bufferline. - Add more applicable filetypes to illuminate denylist. +- Disable mini.indentscope for applicable filetypes. [tebuevd](https://github.com/tebuevd): diff --git a/modules/plugins/mini/indentscope/config.nix b/modules/plugins/mini/indentscope/config.nix index 2e6ec03d..a6fd16d7 100644 --- a/modules/plugins/mini/indentscope/config.nix +++ b/modules/plugins/mini/indentscope/config.nix @@ -3,6 +3,7 @@ lib, ... }: let + inherit (lib.generators) mkLuaInline; inherit (lib.modules) mkIf; inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.lua) toLuaObject; @@ -10,6 +11,21 @@ cfg = config.vim.mini.indentscope; in { vim = mkIf cfg.enable { + autocmds = [ + { + callback = mkLuaInline '' + function() + local ignore_filetypes = ${toLuaObject cfg.setupOpts.ignore_filetypes} + if vim.tbl_contains(ignore_filetypes, vim.bo.filetype) then + vim.b.miniindentscope_disable = true + end + end + ''; + desc = "Disable indentscope for certain filetypes"; + event = ["FileType"]; + } + ]; + startPlugins = ["mini-indentscope"]; pluginRC.mini-indentscope = entryAnywhere '' diff --git a/modules/plugins/mini/indentscope/indentscope.nix b/modules/plugins/mini/indentscope/indentscope.nix index 6feffaee..6a2224c8 100644 --- a/modules/plugins/mini/indentscope/indentscope.nix +++ b/modules/plugins/mini/indentscope/indentscope.nix @@ -1,13 +1,16 @@ -{ - config, - lib, - ... -}: let - inherit (lib.options) mkEnableOption; +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption; inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.types) str listOf; in { options.vim.mini.indentscope = { enable = mkEnableOption "mini.indentscope"; - setupOpts = mkPluginSetupOption "mini.indentscope" {}; + setupOpts = mkPluginSetupOption "mini.indentscope" { + ignore_filetypes = mkOption { + type = listOf str; + default = ["help" "neo-tree" "notify" "NvimTree" "TelescopePrompt"]; + description = "File types to ignore for illuminate"; + }; + }; }; }