A very fast neovim config :D
at master 174 lines 6.3 kB view raw
1local M = { 2 "nvim-telescope/telescope.nvim", 3 dependencies = { 4 { 5 "nvim-telescope/telescope-fzf-native.nvim", 6 build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release", 7 }, 8 { "nvim-telescope/telescope-ui-select.nvim" }, 9 { "nvim-treesitter/nvim-treesitter" }, 10 { "folke/trouble.nvim" }, 11 }, 12 keys = { 13 { "<leader>ff", "<cmd>lua require('telescope.builtin').find_files()<cr>", desc = "Find files" }, 14 { "<leader>fa", "<cmd>Telescope find_files hidden=true<cr>", desc = "Find files" }, 15 { "<leader>fr", "<cmd>lua require('telescope.builtin').oldfiles()<cr>", desc = "Find files" }, 16 { "<C-p>", "<cmd>lua require('telescope.builtin').commands()<cr>" }, 17 { 18 "<C-M-p>", 19 "<cmd>lua require('telescope.builtin').builtin(require('telescope.themes').get_dropdown({}))<cr>", 20 }, 21 { "<leader>fg", "<cmd>lua require('telescope.builtin').live_grep()<cr>", desc = "Find word" }, 22 { "<leader>fb", "<cmd>lua require('telescope.builtin').buffers()<cr>", desc = "Find buffer" }, 23 }, 24 cmd = { "Telescope", "Tel" }, 25 opts = function() 26 local actions = require("telescope.actions") 27 local open_with_trouble = require("trouble.sources.telescope").open 28 return { 29 pickers = { 30 find_files = { 31 previewer = false, 32 -- path_display = formattedName, 33 layout_config = { 34 height = 0.4, 35 prompt_position = "top", 36 preview_cutoff = 120, 37 }, 38 }, 39 git_files = { 40 previewer = false, 41 -- path_display = formattedName, 42 layout_config = { 43 height = 0.4, 44 prompt_position = "top", 45 preview_cutoff = 120, 46 }, 47 }, 48 buffers = { 49 mappings = { 50 i = { 51 ["<c-d>"] = actions.delete_buffer, 52 }, 53 n = { 54 ["<c-d>"] = actions.delete_buffer, 55 }, 56 }, 57 previewer = false, 58 initial_mode = "normal", 59 -- theme = "dropdown", 60 layout_config = { 61 height = 0.4, 62 width = 0.6, 63 prompt_position = "top", 64 preview_cutoff = 120, 65 }, 66 }, 67 current_buffer_fuzzy_find = { 68 previewer = true, 69 layout_config = { 70 prompt_position = "top", 71 preview_cutoff = 120, 72 }, 73 }, 74 live_grep = { 75 only_sort_text = true, 76 previewer = true, 77 }, 78 grep_string = { 79 only_sort_text = true, 80 previewer = true, 81 }, 82 lsp_references = { 83 show_line = false, 84 previewer = true, 85 }, 86 treesitter = { 87 show_line = false, 88 previewer = true, 89 }, 90 colorscheme = { 91 enable_preview = true, 92 }, 93 }, 94 defaults = { 95 mappings = { 96 i = { 97 ["<esc>"] = actions.close, 98 ["<C-t>"] = open_with_trouble, 99 }, 100 101 n = { ["<C-t>"] = open_with_trouble }, 102 }, 103 104 vimgrep_arguments = { 105 "rg", 106 "-L", 107 "--color=never", 108 "--no-heading", 109 "--with-filename", 110 "--line-number", 111 "--column", 112 "--smart-case", 113 }, 114 file_ignore_patterns = { 115 "%.jpg", 116 "%.jpeg", 117 "%.webp", 118 "%.png", 119 "%.gif", 120 "%.otf", 121 "%.ttf", 122 123 "pnpm%-lock%.yaml", 124 "lazy%-lock%.json", 125 "yarn%.lock", 126 "flake%.lock", 127 128 "/node_modules/", 129 "/dist/", 130 "/%.direnv/", 131 "/build/", 132 }, 133 prompt_prefix = "", 134 selection_caret = " ", 135 entry_prefix = " ", 136 initial_mode = "insert", 137 selection_strategy = "reset", 138 layout_strategy = "horizontal", 139 }, 140 141 extensions = { 142 fzf = { 143 fuzzy = true, -- false will only do exact matching 144 override_generic_sorter = true, -- override the generic sorter 145 override_file_sorter = true, -- override the file sorter 146 case_mode = "smart_case", -- or "ignore_case" or "respect_case" 147 }, 148 ["ui-select"] = { 149 require("telescope.themes").get_dropdown({ 150 previewer = false, 151 initial_mode = "normal", 152 sorting_strategy = "ascending", 153 layout_strategy = "horizontal", 154 layout_config = { 155 horizontal = { 156 width = 0.5, 157 height = 0.4, 158 preview_width = 0.6, 159 }, 160 }, 161 }), 162 }, 163 }, 164 } 165 end, 166 config = function(_, opts) 167 local telescope = require("telescope") 168 telescope.setup(opts) 169 telescope.load_extension("fzf") 170 telescope.load_extension("ui-select") 171 end, 172} 173 174return M