From 7d6b3e53c430e9b1d869b559b1efd252460dd4d5 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Tue, 17 Sep 2024 16:46:38 +0200 Subject: [PATCH] redo telescope one more time :) --- lua/plugins/telescope.lua | 48 +++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 9c297c7..0247fb6 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -2,6 +2,16 @@ local telescope = require('telescope') local actions = require('telescope.actions') local builtin = require('telescope.builtin') +local telescope_last = 0 +function telescope_resume() + if telescope_last == 0 then + telescope_last = 1 + builtin.live_grep() + else + builtin.resume() + end +end + telescope.setup { defaults = { sorting_strategy = "ascending", @@ -15,25 +25,35 @@ telescope.setup { live_grep = { mappings = { i = { [""] = actions.to_fuzzy_refine }, + n = { [""] = telescope_resume }, }, }, + find_files = { + cache_picker = false, + }, + git_files = { + cache_picker = false, + }, }, } +-- Snippets can be useful. vim.keymap.set('n', 'ss', telescope.extensions.luasnip.luasnip, {}) -vim.keymap.set('n', 'ff', builtin.find_files, {}) -vim.keymap.set('n', 'fg', builtin.git_files, {}) -vim.keymap.set('n', 'gg', builtin.live_grep, {}) -vim.keymap.set('n', 'fb', builtin.buffers, {}) -vim.keymap.set('n', 'fs', builtin.lsp_dynamic_workspace_symbols, {}) -vim.keymap.set('n', 'fsd', builtin.lsp_document_symbols, {}) -vim.keymap.set('n', 'fh', builtin.help_tags, {}) -vim.keymap.set('n', 'dd', builtin.diagnostics, {}) +-- Fuzzy * files, symbols, buffers, help, etc. +vim.keymap.set('n', 'fa', builtin.find_files) -- f[ind]a[ll] +vim.keymap.set('n', 'fb', builtin.buffers) +vim.keymap.set('n', 'fd', builtin.diagnostics) +vim.keymap.set('n', 'ff', builtin.git_files) +vim.keymap.set('n', 'fh', builtin.help_tags) +vim.keymap.set('n', 'fs', builtin.lsp_dynamic_workspace_symbols) --- Use telescope for lsp definitions, calls and references -vim.keymap.set('n', 'gd', builtin.lsp_definitions, {}) -vim.keymap.set('n', 'gr', builtin.lsp_references, {}) -vim.keymap.set('n', 'gi', builtin.lsp_implementations, {}) -vim.keymap.set('n', 'ci', builtin.lsp_incoming_calls, {}) -vim.keymap.set('n', 'co', builtin.lsp_outgoing_calls, {}) +-- Grep (the only one). +vim.keymap.set('n', 'gg', builtin.live_grep) + +-- LSP navigation. +vim.keymap.set('n', 'gd', builtin.lsp_definitions) +vim.keymap.set('n', 'gr', builtin.lsp_references) +vim.keymap.set('n', 'gi', builtin.lsp_implementations) +vim.keymap.set('n', 'ci', builtin.lsp_incoming_calls) +vim.keymap.set('n', 'co', builtin.lsp_outgoing_calls)