{ config, lib, ... }: let inherit (lib.modules) mkIf; inherit (lib.nvim.binds) mkKeymap; inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.dag) entryAnywhere; cfg = config.vim.utility.motion.flash-nvim; in { config = mkIf cfg.enable { vim = { lazy.plugins = { "flash-nvim" = { package = "flash-nvim"; setupModule = "flash"; setupOpts = cfg.setupOpts; lazy = true; keys = [ (mkKeymap ["n" "o" "x"] cfg.mappings.jump "lua require(\"flash\").jump()" {desc = "Flash";}) (mkKeymap ["n" "o" "x"] cfg.mappings.treesitter "lua require(\"flash\").treesitter()" {desc = "Flash Treesitter";}) (mkKeymap "o" cfg.mappings.remote "lua require(\"flash\").remote()" {desc = "Remote Flash";}) (mkKeymap ["o" "x"] cfg.mappings.treesitter_search "lua require(\"flash\").treesitter_search()" {desc = "Treesitter Search";}) (mkKeymap "c" cfg.mappings.toggle "lua require(\"flash\").toggle()" {desc = "Toggle Flash Search";}) ]; }; }; }; }; }