34 lines
948 B
Nix
34 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);
|
|
}
|