telescope.lua (3793B)
1 if not pcall(require, 'telescope') then 2 return 3 end 4 5 require 'telescope'.setup { 6 defaults = require 'telescope.themes'.get_ivy({ 7 layout_config = { width = 120 }, 8 path_display = { 9 filename_first = { reverse_directories = true }, 10 }, 11 mappings = { 12 i = { 13 ["<c-y>"] = require('telescope.actions').select_default, 14 ["<c-e>"] = require('telescope.actions').close, 15 }, 16 n = { 17 ["<c-y>"] = require('telescope.actions').select_default, 18 }, 19 }, 20 }), 21 pickers = { 22 git_status = { 23 previewer = false, 24 } 25 }, 26 27 extensions = { 28 fzf = {} 29 }, 30 } 31 32 -- extensions 33 require 'telescope'.load_extension('fzf') 34 -- pcall(telescope.load_extension, 'dap') 35 pcall(require('telescope').load_extension, 'zk') 36 pcall(require('telescope').load_extension, 'git_worktree') 37 pcall(require('telescope').load_extension, 'advanced_git_search') 38 39 local rhs = { 40 find_all_files = function() 41 require 'telescope.builtin'.find_files { no_ignore = true, hidden = true } 42 end, 43 find_dotfiles = function() 44 require 'telescope.builtin'.find_files({ 45 prompt_title = 'dotfiles', 46 cwd = '~/.config/nvim', 47 previewer = false, 48 }) 49 end, 50 } 51 52 vim.keymap.set('n', '<space>q', require 'telescope.builtin'.quickfix, { desc = 'Telescope Quickfix' }) 53 vim.keymap.set('n', '<space>Q', require 'telescope.builtin'.loclist, { desc = 'Telescope Loclist' }) 54 vim.keymap.set('n', '<space>k', require 'telescope.builtin'.keymaps, { desc = 'Telescope Keymaps' }) 55 vim.keymap.set('n', '<space>o', require 'telescope.builtin'.oldfiles, { desc = 'Telescope Old Files' }) 56 vim.keymap.set('n', '<space>s', require 'telescope.builtin'.spell_suggest, { desc = 'Telescope Spell Suggest' }) 57 vim.keymap.set('n', '<space>t', require 'telescope.builtin'.treesitter, { desc = 'Telescope Treesitter' }) 58 vim.keymap.set('n', '<space>c', require 'telescope.builtin'.git_status, { desc = 'Telescope Git Status' }) 59 vim.keymap.set('n', '<space>e', require 'tms.p.telescope'.multigrep, { desc = 'Telescope Multi Grep' }) 60 vim.keymap.set('n', '<space>l', require 'telescope.builtin'.current_buffer_fuzzy_find, 61 { desc = 'Telescope Buffer Lines' }) 62 vim.keymap.set('n', '<space>b', require 'telescope.builtin'.buffers, { desc = 'Telescope Buffers' }) 63 vim.keymap.set('n', '<space>h', require 'telescope.builtin'.help_tags, { desc = 'Telescope Help Tags' }) 64 vim.keymap.set('n', '<space>d', require 'telescope.builtin'.diagnostics, { desc = 'Telescope Diagnostics' }) 65 vim.keymap.set('n', '<space>f', require 'telescope.builtin'.find_files, { desc = 'Telescope Find Files' }) 66 vim.keymap.set('n', '<space>F', rhs.find_all_files, { desc = 'Telescope Find All Files' }) 67 vim.keymap.set('n', '<space>P', require 'telescope.builtin'.reloader, { desc = 'Telescope Reloader' }) 68 vim.keymap.set('n', '<space>wo', require 'telescope'.extensions.git_worktree.git_worktrees, 69 { desc = 'Telescope Git Worktree List' }) 70 vim.keymap.set('n', '<space>wi', require 'telescope'.extensions.git_worktree.create_git_worktree, 71 { desc = 'Telescope Git Worktree Create' }) 72 vim.keymap.set('n', '<space>n', rhs.find_dotfiles, { desc = 'Telescope Dotfiles' }) 73 vim.keymap.set('n', '<space>p', function() 74 require 'telescope.builtin'.find_files { 75 cwd = vim.fs.joinpath(vim.fn.stdpath 'data', 'site/pack/paqs'), 76 } 77 end, { desc = 'Telescope Dotfiles' }) 78 79 local group = vim.api.nvim_create_augroup('user-telescope', {}) 80 vim.api.nvim_create_autocmd('LspAttach', { 81 group = group, 82 callback = function() 83 vim.keymap.set('n', '<space>m', require 'telescope.builtin'.lsp_document_symbols, 84 { desc = 'Telescope Lsp Document Symbols' }) 85 vim.keymap.set('n', '<space>M', require 'telescope.builtin'.lsp_dynamic_workspace_symbols, 86 { desc = 'Telescope LSP Dynamic Workspace Symbols' }) 87 end, 88 })