2024-04-16 04:36:26 -07:00
|
|
|
{ config, pkgs, lib, ... }:
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
cfgp = config.neovim.plugins;
|
|
|
|
|
in {
|
|
|
|
|
config = lib.mkIf (config.neovim.enable && cfgp.telescope.enable) {
|
|
|
|
|
programs.neovim.plugins = let
|
|
|
|
|
configText = ''
|
|
|
|
|
require('telescope').setup({
|
|
|
|
|
extensions = {
|
|
|
|
|
'' + lib.strings.optionalString cfgp.telescope.fzf.enable ''
|
|
|
|
|
fzf = {
|
|
|
|
|
fuzzy = true, -- false will only do exact matching
|
|
|
|
|
override_generic_sorter = true, -- override the generic sorter
|
|
|
|
|
override_file_sorter = true, -- override the file sorter
|
|
|
|
|
case_mode = "smart_case", -- or "ignore_case" or "respect_case"
|
|
|
|
|
-- the default case_mode is "smart_case"
|
|
|
|
|
}
|
|
|
|
|
'' + ''
|
|
|
|
|
}
|
|
|
|
|
})
|
2024-04-18 01:16:38 -07:00
|
|
|
local builtin = require('telescope.builtin')
|
|
|
|
|
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
|
|
|
|
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
2024-04-16 04:36:26 -07:00
|
|
|
|
|
|
|
|
'' + lib.strings.optionalString cfgp.telescope.fzf.enable ''
|
|
|
|
|
require('telescope').load_extension('fzf')
|
|
|
|
|
'';
|
|
|
|
|
in with pkgs.vimPlugins; [
|
|
|
|
|
{
|
|
|
|
|
plugin = telescope-nvim;
|
|
|
|
|
type = "lua";
|
|
|
|
|
config = configText;
|
|
|
|
|
}
|
|
|
|
|
(lib.mkIf cfgp.nvimcmp.enable telescope-fzf-native-nvim)
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
home.packages = with pkgs; [
|
|
|
|
|
(lib.mkIf cfgp.telescope.fzf.enable fzf)
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
}
|