diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-05 22:50:32 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-05 22:50:32 +0200 |
commit | 9285006ea4a71b3132e3ad9f8bfcdda585f7b427 (patch) | |
tree | d91c67e8d3761256772b6af39cc4ad46eb887d23 /fnl | |
parent | 769f2e1a99863e6dcf620eab6684620be8feabe3 (diff) |
feat(spectre): add fnl config
Diffstat (limited to 'fnl')
-rw-r--r-- | fnl/config/spectre.fnl | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/fnl/config/spectre.fnl b/fnl/config/spectre.fnl new file mode 100644 index 0000000..a6df5d1 --- /dev/null +++ b/fnl/config/spectre.fnl @@ -0,0 +1,100 @@ +;; Find and replace. +(module config.spectre + {autoload {util util}}) + +(let [(ok? spectre) util.load-plugin :spectre] + (when ok? + (spectre.setup + {:color_devicons true + :highlight { + :ui "String" + :search "DiffChange" + :replace "DiffDelete"} + :mapping { + :toggle_line { + :map "t" + :cmd "<cmd>lua require('spectre').toggle_line()<CR>" + :desc "toggle current item"} + :enter_file { + :map "<cr>" + :cmd "<cmd>lua require('spectre.actions').select_entry()<CR>" + :desc "goto current file"} + :send_to_qf { + :map "Q" + :cmd "<cmd>lua require('spectre.actions').send_to_qf()<CR>" + :desc "send all item to quickfix"} + :replace_cmd { + :map "c" + :cmd "<cmd>lua require('spectre.actions').replace_cmd()<CR>" + :desc "input replace vim command"} + :show_option_menu { + :map "o" + :cmd "<cmd>lua require('spectre').show_options()<CR>" + :desc "show option"} + :run_replace { + :map "R" + :cmd "<cmd>lua require('spectre.actions').run_replace()<CR>" + :desc "replace all"} + :change_view_mode { + :map "m" + :cmd "<cmd>lua require('spectre').change_view()<CR>" + :desc "change result view mode"} + :toggle_ignore_case { + :map "I" + :cmd "<cmd>lua require('spectre').change_options('ignore-case')<CR>" + :desc "toggle ignore case"} + :toggle_ignore_hidden { + :map "H" + :cmd "<cmd>lua require('spectre').change_options('hidden')<CR>" + :desc "toggle search hidden"}} + :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 nil} + :options { + :ignore-case { + :value "--ignore-case" + :icon "[I]" + :desc "ignore case"}}} + :default { + :find { + :cmd "rg" + :options { "ignore-case" }} + :replace { + :cmd "sed"}} + :replace_vim_cmd "cdo" + :is_open_target_win true + :is_insert_mode false}) |