0
0

telescope.lua 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  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", "sld", builtin.lsp_definitions)
  56. vim.keymap.set("n", "slt", builtin.lsp_type_definitions)
  57. vim.keymap.set("n", "slr", builtin.lsp_references)
  58. vim.keymap.set("n", "sli", builtin.lsp_implementations)
  59. vim.keymap.set("n", "sls", builtin.lsp_dynamic_workspace_symbols)
  60. require("telescope").load_extension("ui-select")
  61. require("telescope").load_extension("file_browser")
  62. end
  63. }, {
  64. "nvim-telescope/telescope-file-browser.nvim",
  65. dependencies = { "nvim-telescope/telescope.nvim" },
  66. enabled = true,
  67. lazy = false,
  68. config = function(_, _)
  69. require("telescope").setup({
  70. extensions = {
  71. file_browser = {
  72. respect_gitignore = false,
  73. hidden = { file_browser = true, folder_browser = true },
  74. hijack_netrw = true,
  75. display_stat = { date = false, size = true, mode = false },
  76. mappings = {}
  77. }
  78. }
  79. })
  80. require("telescope").load_extension("file_browser")
  81. end
  82. }
  83. }