summaryrefslogtreecommitdiff
path: root/fnl/plugins/spectre.fnl
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-11 00:41:17 +0100
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-11 00:41:17 +0100
commitf318452070d42e51231f7880a5d0eaa93d978a1e (patch)
treec76f35889ebc7a4e52bbd06e07c8f33f9bf68f5d /fnl/plugins/spectre.fnl
parent433952cf3efa8e2b5e23ff0e76a4afe6f95d44b5 (diff)
Rip aniseed, hail hotpot
Diffstat (limited to 'fnl/plugins/spectre.fnl')
-rw-r--r--fnl/plugins/spectre.fnl54
1 files changed, 54 insertions, 0 deletions
diff --git a/fnl/plugins/spectre.fnl b/fnl/plugins/spectre.fnl
new file mode 100644
index 0000000..92a33ba
--- /dev/null
+++ b/fnl/plugins/spectre.fnl
@@ -0,0 +1,54 @@
+;; Find and replace.
+
+(local opts {: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]"}}}}
+ :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})
+
+{1 :windwp/nvim-spectre :event :BufReadPost : opts}