telescope.lua 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. return {
  2. {
  3. "nvim-telescope/telescope.nvim",
  4. enabled = true,
  5. lazy = false,
  6. cmd = "Telescope",
  7. dependencies = {
  8. "nvim-lua/plenary.nvim", "nvim-telescope/telescope-ui-select.nvim"
  9. },
  10. config = function(_, _)
  11. local builtin = require("telescope.builtin")
  12. require("telescope").setup({
  13. extensions = {
  14. ["ui-select"] = { require("telescope.themes").get_dropdown() }
  15. },
  16. defaults = {
  17. ["borderchars"] = {
  18. "-", "¦", "-", "¦", "⌌", "⌍", "⌏", "⌎"
  19. },
  20. layout_strategy = "horizontal",
  21. layout_config = {
  22. horizontal = { width = { padding = 0 }, height = 0.99 }
  23. },
  24. cache_picker = {
  25. num_pickers = 100,
  26. limit_entries = 100,
  27. ignore_empty_prompt = true
  28. }
  29. },
  30. pickers = {
  31. live_grep = {
  32. additional_args = function(opts)
  33. return { "--hidden", "--glob=!**/.git/*" }
  34. end
  35. }
  36. }
  37. })
  38. vim.keymap.set("n", "sf", function()
  39. require("telescope").extensions.file_browser.file_browser({
  40. select_buffer = true,
  41. grouped = true,
  42. no_ignore = true,
  43. hidden = true,
  44. respect_gitignore = false,
  45. path = vim.fn.expand("%:p:h")
  46. })
  47. end, {})
  48. vim.keymap.set("n", "ss", builtin.resume)
  49. vim.keymap.set("n", "sS", builtin.pickers)
  50. vim.keymap.set("n", "sa", builtin.find_files)
  51. vim.keymap.set("n", "sg", builtin.git_files)
  52. vim.keymap.set("n", "si", builtin.live_grep)
  53. vim.keymap.set("n", "sb", builtin.buffers)
  54. vim.keymap.set("n", "sj", builtin.jumplist)
  55. vim.keymap.set("n", "sw", builtin.grep_string)
  56. vim.keymap.set("n", "sld", builtin.lsp_definitions)
  57. vim.keymap.set("n", "slt", builtin.lsp_type_definitions)
  58. vim.keymap.set("n", "slr", builtin.lsp_references)
  59. vim.keymap.set("n", "sli", builtin.lsp_implementations)
  60. vim.keymap.set("n", "sls", builtin.lsp_dynamic_workspace_symbols)
  61. require("telescope").load_extension("ui-select")
  62. require("telescope").load_extension("file_browser")
  63. end
  64. }, {
  65. "nvim-telescope/telescope-file-browser.nvim",
  66. dependencies = { "nvim-telescope/telescope.nvim" },
  67. enabled = true,
  68. lazy = false,
  69. config = function(_, _)
  70. require("telescope").setup({
  71. extensions = {
  72. file_browser = {
  73. respect_gitignore = false,
  74. hidden = { file_browser = true, folder_browser = true },
  75. hijack_netrw = true,
  76. display_stat = { date = false, size = true, mode = false },
  77. mappings = {}
  78. }
  79. }
  80. })
  81. require("telescope").load_extension("file_browser")
  82. end
  83. }
  84. }