diff options
Diffstat (limited to 'telescope.lua')
| -rw-r--r-- | telescope.lua | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/telescope.lua b/telescope.lua new file mode 100644 index 0000000..37b9b86 --- /dev/null +++ b/telescope.lua @@ -0,0 +1,78 @@ +local status, telescope = pcall(require, "telescope")
+if (not status) then return end
+local actions = require('telescope.actions')
+local builtin = require("telescope.builtin")
+
+local function telescope_buffer_dir()
+ return vim.fn.expand('%:p:h')
+end
+
+local fb_actions = require "telescope".extensions.file_browser.actions
+
+telescope.setup {
+ defaults = {
+ mappings = {
+ n = {
+ ["q"] = actions.close
+ },
+ },
+ },
+ extensions = {
+ file_browser = {
+ theme = "dropdown",
+ -- disables netrw and use telescope-file-browser in its place
+ hijack_netrw = true,
+ mappings = {
+ -- your custom insert mode mappings
+ ["i"] = {
+ ["<C-w>"] = function() vim.cmd('normal vbd') end,
+ },
+ ["n"] = {
+ -- your custom normal mode mappings
+ ["N"] = fb_actions.create,
+ ["h"] = fb_actions.goto_parent_dir,
+ ["/"] = function()
+ vim.cmd('startinsert')
+ end
+ },
+ },
+ },
+ },
+}
+
+telescope.load_extension("file_browser")
+
+vim.keymap.set('n', ';f',
+ function()
+ builtin.find_files({
+ no_ignore = false,
+ hidden = true
+ })
+ end)
+vim.keymap.set('n', ';r', function()
+ builtin.live_grep()
+end)
+vim.keymap.set('n', '\\\\', function()
+ builtin.buffers()
+end)
+vim.keymap.set('n', ';t', function()
+ builtin.help_tags()
+end)
+vim.keymap.set('n', ';;', function()
+ builtin.resume()
+end)
+vim.keymap.set('n', ';e', function()
+ builtin.diagnostics()
+end)
+vim.keymap.set("n", "sf", function()
+ telescope.extensions.file_browser.file_browser({
+ path = "%:p:h",
+ cwd = telescope_buffer_dir(),
+ respect_gitignore = false,
+ hidden = true,
+ grouped = true,
+ previewer = false,
+ initial_mode = "normal",
+ layout_config = { height = 40 }
+ })
+end)
\ No newline at end of file |
