local actions = require "telescope.actions" local M = {} M.project_files = function() local opts = {} -- define here if you want to define something local ok = pcall(require("telescope.builtin").git_files, opts) if not ok then require("telescope.builtin").find_files(opts) end end require("telescope").setup { defaults = { prompt_prefix = "/ ", selection_caret = "⯈ ", color_devicons = false, mappings = { i = { [""] = actions.close, [""] = actions.move_selection_next, [""] = actions.move_selection_previous, [""] = actions.move_selection_next, [""] = actions.move_selection_previous, [""] = actions.close, [""] = false, [""] = false, [""] = actions.select_default + actions.center, [""] = actions.select_horizontal, [""] = actions.select_vertical, [""] = actions.preview_scrolling_up, [""] = actions.preview_scrolling_down, }, n = { [""] = actions.close, [""] = actions.select_default + actions.center, [""] = actions.select_horizontal, [""] = actions.select_vertical, ["j"] = actions.move_selection_next, ["k"] = actions.move_selection_previous, [""] = false, [""] = false, [""] = actions.preview_scrolling_up, [""] = actions.preview_scrolling_down, }, }, file_ignore_patterns = { ".git/*", "node_modules/*", "bower_components/*", ".svn/*", ".hg/*", "CVS/*", ".next/*", ".docz/*", ".DS_Store", }, layout_strategy = "flex", scroll_strategy = "cycle", }, pickers = { find_files = { theme = "ivy", }, git_files = { theme = "ivy", }, live_grep = { theme = "ivy", previewer = false, }, file_browser = { theme = "ivy", previewer = false, }, }, } vim.api.nvim_set_keymap( "n", "", 'lua require("plugins/telescope").project_files()', { noremap = true, silent = true } ) vim.api.nvim_set_keymap( "n", "g", 'lua require("telescope.builtin").live_grep()', { noremap = true, silent = true } ) vim.api.nvim_set_keymap( "n", "f", 'lua require("telescope.builtin").file_browser()', { noremap = true, silent = true } ) vim.api.nvim_set_keymap( "n", "b", 'lua require("telescope.builtin").buffers()', { noremap = true, silent = true } ) return M