35 lines
948 B
Nix
35 lines
948 B
Nix
|
{ nix2lua, vim, ... }:
|
||
|
|
||
|
with nix2lua.lib;
|
||
|
|
||
|
let
|
||
|
defaultKeymaps = [
|
||
|
{ mode = "n"; bind = "<leader>ff"; command = "<Cmd>Telescope find_files hidden=true<CR>"; }
|
||
|
{ mode = "n"; bind = "<leader>fb"; command = "<Cmd>Telescope buffers<CR>"; }
|
||
|
{ mode = "n"; bind = "<leader>fh"; command = "<Cmd>Telescope help_tags<CR>"; }
|
||
|
|
||
|
{ mode = "n"; bind = "<leader>fg"; command = lambda0 (call0 "telescope.extensions.live_grep_args.live_grep_args"); }
|
||
|
];
|
||
|
in
|
||
|
|
||
|
|
||
|
{ configs ? { }
|
||
|
, keymaps ? defaultKeymaps
|
||
|
, extraKeymaps ? [ ]
|
||
|
# TODO: add possibility to configure extensions
|
||
|
}:
|
||
|
|
||
|
{
|
||
|
# telescope requirements
|
||
|
plenary-nvim = true;
|
||
|
|
||
|
# telescope extension
|
||
|
telescope-live-grep-args-nvim = true;
|
||
|
|
||
|
telescope-nvim = [
|
||
|
(local (set "telescope" (require "telescope")))
|
||
|
(pipe1 (var "telescope") (call "setup" configs))
|
||
|
(pipe1 (var "telescope") (call "load_extension" "live_grep_args"))
|
||
|
] ++ map vim.keymap.set (keymaps ++ extraKeymaps);
|
||
|
}
|