You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kickstart.nvim/lua/custom/plugins/spectre.lua

72 lines
1.7 KiB
Lua

return {
{
'nvim-pack/nvim-spectre',
lazy = true,
cmd = { 'Spectre' },
dependencies = {
'nvim-lua/plenary.nvim',
'catppuccin/nvim',
},
keys = {
{
'<leader>S',
function()
require('spectre').toggle()
end,
desc = 'Toggle Spectre',
},
{
'<leader>SW',
function()
require('spectre').open_visual { select_word = true }
end,
mode = 'n',
desc = 'Search current word',
},
{
'<leader>SW',
function()
require('spectre').open_visual()
end,
mode = 'v',
desc = 'Search current word',
},
{
'<leader>SP',
function()
require('spectre').open_file_search { select_word = true }
end,
desc = 'Search on current file',
},
},
config = function()
local theme = require('catppuccin.palettes').get_palette 'macchiato'
vim.api.nvim_set_hl(0, 'SpectreSearch', { bg = theme.red, fg = theme.base })
vim.api.nvim_set_hl(0, 'SpectreReplace', { bg = theme.green, fg = theme.base })
require('spectre').setup {
highlight = {
search = 'SpectreSearch',
replace = 'SpectreReplace',
},
mapping = {
['send_to_qf'] = {
map = '<C-q>',
cmd = "<cmd>lua require('spectre.actions').send_to_qf()<CR>",
desc = 'send all items to quickfix',
},
},
replace_engine = {
sed = {
cmd = 'sed',
args = {
'-i',
'',
'-E',
},
},
},
}
end,
}
}