aboutsummaryrefslogtreecommitdiffhomepage
path: root/vim/lazy/plugin/telescope.lua
diff options
context:
space:
mode:
Diffstat (limited to 'vim/lazy/plugin/telescope.lua')
-rw-r--r--vim/lazy/plugin/telescope.lua105
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
3require('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
49pcall(require('telescope').load_extension, 'fzf')
50pcall(require('telescope').load_extension, 'repo')
51
52-- See `:help telescope.builtin`
53vim.keymap.set('n', '<leader>T', ':Telescope<CR>', { desc = '[T]elescope' })
54vim.keymap.set('n', '<leader>f', require('telescope.builtin').oldfiles, { desc = '[F] Find recently opened files' })
55vim.keymap.set('n', '<leader>b', require('telescope.builtin').buffers, { desc = '[B] Find existing buffers' })
56vim.keymap.set('n', '<leader>st', require('telescope.builtin').builtin, { desc = '[S]earch [T]elescope for builtin' })
57vim.keymap.set('n', '<leader>gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' })
58vim.keymap.set('n', '<leader>sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' })
59vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
60vim.keymap.set('n', '<leader>sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' })
61vim.keymap.set('n', '<leader>sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' })
62vim.keymap.set('n', '<leader>sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' })
63vim.keymap.set('n', '<leader>sk', require('telescope.builtin').keymaps, { desc = '[S]earch [K]eymaps' })
64vim.keymap.set('n', '<leader>sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' })
65
66-- For grep in current buffer
67vim.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 })
73end, { desc = '[/] Fuzzily search in current buffer' })
74
75-- For neovim config files
76vim.keymap.set('n', '<leader>sn', function()
77 require('telescope.builtin').find_files {
78 cwd = vim.fn.stdpath 'config',
79 follow = true
80 }
81end, { desc = '[S]earch [N]eovim files' })
82
83-- Get snippets from ~/helper/snippets
84vim.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 }
105end, { desc = '[S]earch [S]nippets' })