diff options
Diffstat (limited to 'vim/lazy/plugin/telescope.lua')
-rw-r--r-- | vim/lazy/plugin/telescope.lua | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/vim/lazy/plugin/telescope.lua b/vim/lazy/plugin/telescope.lua deleted file mode 100644 index d6076b6..0000000 --- a/vim/lazy/plugin/telescope.lua +++ /dev/null | |||
@@ -1,105 +0,0 @@ | |||
1 | -- See `:help telescope` and `:help telescope.setup()` | ||
2 | |||
3 | require('telescope').setup { | ||
4 | defaults = { | ||
5 | mappings = { | ||
6 | i = { | ||
7 | -- ["<c-j>"] = "move_selection_next", | ||
8 | -- ["<c-k>"] = "move_selection_previous", | ||
9 | ["<C-w>"] = require("telescope.actions.layout").toggle_preview, | ||
10 | ["<C-u>"] = false, | ||
11 | }, | ||
12 | }, | ||
13 | layout_config = { | ||
14 | vertical = { height = 0.8 }, | ||
15 | -- other layout configuration here | ||
16 | preview_cutoff = 0, | ||
17 | }, | ||
18 | }, | ||
19 | pickers = { | ||
20 | buffers = { | ||
21 | show_all_buffers = true, | ||
22 | sort_lastused = true, | ||
23 | theme = "dropdown", | ||
24 | previewer = false, | ||
25 | mappings = { | ||
26 | i = { | ||
27 | ["<c-d>"] = "delete_buffer", | ||
28 | }, | ||
29 | n = { | ||
30 | ["<c-d>"] = "delete_buffer", | ||
31 | } | ||
32 | } | ||
33 | }, | ||
34 | |||
35 | }, | ||
36 | extensions = { | ||
37 | aerial = { | ||
38 | -- Display symbols as <root>.<parent>.<symbol> | ||
39 | show_nesting = { | ||
40 | ["_"] = false, -- This key will be the default | ||
41 | json = true, -- You can set the option for specific filetypes | ||
42 | yaml = true, | ||
43 | }, | ||
44 | }, | ||
45 | }, | ||
46 | } | ||
47 | |||
48 | -- Enable telescope fzf native, if installed | ||
49 | pcall(require('telescope').load_extension, 'fzf') | ||
50 | pcall(require('telescope').load_extension, 'repo') | ||
51 | |||
52 | -- See `:help telescope.builtin` | ||
53 | vim.keymap.set('n', '<leader>T', ':Telescope<CR>', { desc = '[T]elescope' }) | ||
54 | vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[F] Find recently opened files' }) | ||
55 | vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[B] Find existing buffers' }) | ||
56 | vim.keymap.set('n', '<leader>st', require('telescope.builtin').builtin, { desc = '[S]earch [T]elescope for builtin' }) | ||
57 | vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) | ||
58 | vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) | ||
59 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) | ||
60 | vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) | ||
61 | vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) | ||
62 | vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) | ||
63 | vim.keymap.set('n', '<leader>sk', require('telescope.builtin').keymaps, { desc = '[S]earch [K]eymaps' }) | ||
64 | vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) | ||
65 | |||
66 | -- For grep in current buffer | ||
67 | vim.keymap.set('n', '<leader>/', function() | ||
68 | -- You can pass additional configuration to telescope to change theme, layout, etc. | ||
69 | require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { | ||
70 | --winblend = 10, | ||
71 | previewer = false, | ||
72 | }) | ||
73 | end, { desc = '[/] Fuzzily search in current buffer' }) | ||
74 | |||
75 | -- For neovim config files | ||
76 | vim.keymap.set('n', '<leader>sn', function() | ||
77 | require('telescope.builtin').find_files { | ||
78 | cwd = vim.fn.stdpath 'config', | ||
79 | follow = true | ||
80 | } | ||
81 | end, { desc = '[S]earch [N]eovim files' }) | ||
82 | |||
83 | -- Get snippets from ~/helper/snippets | ||
84 | vim.keymap.set('n', '<leader>ss', function() | ||
85 | local current_filetype = vim.bo.filetype | ||
86 | local cwd = '/home/pham/helper/snippets/' .. current_filetype | ||
87 | require('telescope.builtin').find_files { | ||
88 | prompt_title = 'Select a snippet for ' .. current_filetype, | ||
89 | cwd = cwd, | ||
90 | attach_mappings = function(prompt_bufnr, map) | ||
91 | local insert_selected_snippet = function() | ||
92 | local file = require('telescope.actions.state').get_selected_entry()[1] | ||
93 | local snippet_content = vim.fn.readfile(cwd .. "/" .. file) | ||
94 | require('telescope.actions').close(prompt_bufnr) | ||
95 | vim.api.nvim_command('normal! h') | ||
96 | vim.api.nvim_put(snippet_content, '', false, true) | ||
97 | end | ||
98 | |||
99 | map('i', '<CR>', insert_selected_snippet) | ||
100 | map('n', '<CR>', insert_selected_snippet) | ||
101 | |||
102 | return true | ||
103 | end, | ||
104 | } | ||
105 | end, { desc = '[S]earch [S]nippets' }) | ||