diff --git a/lua/coldboot/plugins/lsp.lua b/lua/coldboot/plugins/lsp.lua index 4a79b66..eaa9feb 100644 --- a/lua/coldboot/plugins/lsp.lua +++ b/lua/coldboot/plugins/lsp.lua @@ -39,14 +39,16 @@ return { vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) end + local fzf_lua = require 'fzf-lua' + nmap('rn', vim.lsp.buf.rename, '[R]e[n]ame') nmap('ca', vim.lsp.buf.code_action, '[C]ode [A]ction') nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') - nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - nmap('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') + nmap('gr', fzf_lua.lsp_references, '[G]oto [R]eferences') + nmap('gI', fzf_lua.lsp_implementations, '[G]oto [I]mplementation') nmap('D', vim.lsp.buf.type_definition, 'Type [D]efinition') - nmap('ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') - nmap('ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') + nmap('ds', fzf_lua.lsp_document_symbols, '[D]ocument [S]ymbols') + nmap('ws', fzf_lua.lsp_live_workspace_symbols, '[W]orkspace [S]ymbols') nmap('K', vim.lsp.buf.hover, 'Hover Documentation') nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') @@ -62,14 +64,16 @@ return { vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) end + local fzf_lua = require 'fzf-lua' + nmap('rn', vim.lsp.buf.rename, '[R]e[n]ame') nmap('ca', vim.lsp.buf.code_action, '[C]ode [A]ction') nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') - nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - nmap('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') + nmap('gr', fzf_lua.lsp_references, '[G]oto [R]eferences') + nmap('gI', fzf_lua.lsp_implementations, '[G]oto [I]mplementation') nmap('D', vim.lsp.buf.type_definition, 'Type [D]efinition') - nmap('ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') - nmap('ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') + nmap('ds', fzf_lua.lsp_document_symbols, '[D]ocument [S]ymbols') + nmap('ws', fzf_lua.lsp_live_workspace_symbols, '[W]orkspace [S]ymbols') nmap('K', vim.lsp.buf.hover, 'Hover Documentation') nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') diff --git a/lua/coldboot/plugins/telescope.lua b/lua/coldboot/plugins/telescope.lua index c8b3944..f2b1adc 100644 --- a/lua/coldboot/plugins/telescope.lua +++ b/lua/coldboot/plugins/telescope.lua @@ -1,53 +1,93 @@ return { { - 'nvim-telescope/telescope.nvim', - branch = '0.1.x', - cmd = 'Telescope', + 'ibhagwan/fzf-lua', + cmd = 'FzfLua', keys = { - { '?', 'Telescope oldfiles', desc = '[?] Find recently opened files' }, - { '', 'Telescope buffers', desc = '[ ] Find existing buffers' }, + { + '?', + function() + require('fzf-lua').oldfiles() + end, + desc = '[?] Find recently opened files', + }, + { + '', + function() + require('fzf-lua').buffers() + end, + desc = '[ ] Find existing buffers', + }, { '/', function() - require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { - winblend = 10, - previewer = false, - }) + require('fzf-lua').blines() end, desc = '[/] Fuzzily search in current buffer', }, - { 'gf', 'Telescope git_files', desc = 'Search [G]it [F]iles' }, - { 'sf', 'Telescope find_files', desc = '[S]earch [F]iles' }, - { 'sh', 'Telescope help_tags', desc = '[S]earch [H]elp' }, - { 'sw', 'Telescope grep_string', desc = '[S]earch current [W]ord' }, - { 'sg', 'Telescope live_grep', desc = '[S]earch by [G]rep' }, - { 'sd', 'Telescope diagnostics', desc = '[S]earch [D]iagnostics' }, - { 'sr', 'Telescope resume', desc = '[S]earch [R]esume' }, - }, - dependencies = { - 'nvim-lua/plenary.nvim', { - 'nvim-telescope/telescope-fzf-native.nvim', - build = 'make', - cond = function() - return vim.fn.executable 'make' == 1 + 'gf', + function() + require('fzf-lua').git_files() + end, + desc = 'Search [G]it [F]iles', + }, + { + 'sf', + function() + require('fzf-lua').files() + end, + desc = '[S]earch [F]iles', + }, + { + 'sh', + function() + require('fzf-lua').help_tags() + end, + desc = '[S]earch [H]elp', + }, + { + 'sw', + function() + require('fzf-lua').grep_cword() + end, + desc = '[S]earch current [W]ord', + }, + { + 'sg', + function() + require('fzf-lua').live_grep() + end, + desc = '[S]earch by [G]rep', + }, + { + 'sd', + function() + require('fzf-lua').diagnostics_workspace() + end, + desc = '[S]earch [D]iagnostics', + }, + { + 'sr', + function() + require('fzf-lua').resume() end, + desc = '[S]earch [R]esume', }, }, + dependencies = { + 'nvim-tree/nvim-web-devicons', + }, config = function() - require('telescope').setup { - defaults = { - mappings = { - i = { - [''] = false, - [''] = false, - }, - }, + local fzf = require 'fzf-lua' + + fzf.setup { + files = { + fd_opts = [[--color=never --type f --hidden --follow --exclude .git]], + }, + grep = { + rg_opts = [[--column --line-number --no-heading --color=never --smart-case --hidden --glob !.git/]], }, } - - -- Enable telescope fzf native, if installed - pcall(require('telescope').load_extension, 'fzf') end, }, }