A very fast neovim config :D
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