neovim

Personal neovim configuration files
git clone git://gtms.dev/neovim
Log | Files | Refs

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 })