{ empty = { plugins.spectre.enable = true; }; package-options-from-settings = { plugins.spectre = { enable = true; settings.default = { find.cmd = "rg"; replace.cmd = "sed"; }; }; }; example = { plugins.spectre = { enable = true; settings = { live_update = true; is_insert_mode = false; find_engine = { rg = { cmd = "rg"; args = [ "--color=never" "--no-heading" "--with-filename" "--line-number" "--column" ]; options = { ignore-case = { value = "--ignore-case"; icon = "[I]"; desc = "ignore case"; }; hidden = { value = "--hidden"; desc = "hidden file"; icon = "[H]"; }; line = { value = "-x"; icon = "[L]"; desc = "match in line"; }; word = { value = "-w"; icon = "[W]"; desc = "match in word"; }; }; }; }; default = { find = { cmd = "rg"; options = [ "word" "hidden" ]; }; replace = { cmd = "sed"; }; }; }; }; }; defaults = { plugins.spectre = { enable = true; settings = { filetype = "spectre_panel"; namespace.__raw = "vim.api.nvim_create_namespace('SEARCH_PANEL')"; namespace_ui.__raw = "vim.api.nvim_create_namespace('SEARCH_PANEL_UI')"; namespace_header.__raw = "vim.api.nvim_create_namespace('SEARCH_PANEL_HEADER')"; namespace_status.__raw = "vim.api.nvim_create_namespace('SEARCH_PANEL_STATUS')"; namespace_result.__raw = "vim.api.nvim_create_namespace('SEARCH_PANEL_RESULT')"; lnum_UI = 8; line_result = 10; line_sep_start = "┌──────────────────────────────────────────────────────"; result_padding = "│ "; line_sep = "└──────────────────────────────────────────────────────"; color_devicons = true; open_cmd = "vnew"; live_update = false; lnum_for_results = false; highlight = { headers = "SpectreHeader"; ui = "SpectreBody"; filename = "SpectreFile"; filedirectory = "SpectreDir"; search = "SpectreSearch"; border = "SpectreBorder"; replace = "SpectreReplace"; }; mapping = { tab = { map = ""; cmd = "lua require('spectre').tab()"; desc = "next query"; }; shift-tab = { map = ""; cmd = "lua require('spectre').tab_shift()"; desc = "previous query"; }; toggle_line = { map = "dd"; cmd = "lua require('spectre').toggle_line()"; desc = "toggle item"; }; enter_file = { map = ""; cmd = "lua require('spectre.actions').select_entry()"; desc = "open file"; }; send_to_qf = { map = "q"; cmd = "lua require('spectre.actions').send_to_qf()"; desc = "send all items to quickfix"; }; replace_cmd = { map = "c"; cmd = "lua require('spectre.actions').replace_cmd()"; desc = "input replace command"; }; show_option_menu = { map = "o"; cmd = "lua require('spectre').show_options()"; desc = "show options"; }; run_current_replace = { map = "rc"; cmd = "lua require('spectre.actions').run_current_replace()"; desc = "replace item"; }; run_replace = { map = "R"; cmd = "lua require('spectre.actions').run_replace()"; desc = "replace all"; }; change_view_mode = { map = "v"; cmd = "lua require('spectre').change_view()"; desc = "change result view mode"; }; change_replace_sed = { map = "trs"; cmd = "lua require('spectre').change_engine_replace('sed')"; desc = "use sed to replace"; }; change_replace_oxi = { map = "tro"; cmd = "lua require('spectre').change_engine_replace('oxi')"; desc = "use oxi to replace"; }; toggle_live_update = { map = "tu"; cmd = "lua require('spectre').toggle_live_update()"; desc = "update when vim writes to file"; }; toggle_ignore_case = { map = "ti"; cmd = "lua require('spectre').change_options('ignore-case')"; desc = "toggle ignore case"; }; toggle_ignore_hidden = { map = "th"; cmd = "lua require('spectre').change_options('hidden')"; desc = "toggle search hidden"; }; resume_last_search = { map = "l"; cmd = "lua require('spectre').resume_last_search()"; desc = "repeat last search"; }; select_template = { map = "rp"; cmd = "lua require('spectre.actions').select_template()"; desc = "pick template"; }; }; find_engine = { rg = { cmd = "rg"; args = [ "--color=never" "--no-heading" "--with-filename" "--line-number" "--column" ]; options = { ignore-case = { value = "--ignore-case"; icon = "[I]"; desc = "ignore case"; }; hidden = { value = "--hidden"; desc = "hidden file"; icon = "[H]"; }; }; }; ag = { cmd = "ag"; args = [ "--vimgrep" "-s" ]; options = { ignore-case = { value = "-i"; icon = "[I]"; desc = "ignore case"; }; hidden = { value = "--hidden"; desc = "hidden file"; icon = "[H]"; }; }; }; }; replace_engine = { sed = { cmd = "sed"; args = [ "-i" "-E" ]; options = { ignore-case = { value = "--ignore-case"; icon = "[I]"; desc = "ignore case"; }; }; }; oxi = { cmd = "oxi"; args = [ ]; options = { ignore-case = { value = "i"; icon = "[I]"; desc = "ignore case"; }; }; }; sd = { cmd = "sd"; options = { }; }; }; default = { find = { cmd = "rg"; options = [ "ignore-case" ]; }; replace = { cmd = "sed"; }; }; replace_vim_cmd = "cdo"; is_open_target_win = true; is_insert_mode = false; is_block_ui_break = false; open_template = { }; }; }; }; }