summaryrefslogtreecommitdiff
path: root/fnl/plugins/editor/spectre.fnl
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-15 22:47:30 +0100
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2023-01-15 22:47:30 +0100
commit10b175f252104458d7478d8a2822818850cfdf92 (patch)
treeee926d33bee6b4acfe45fce0dd8aa9e94f03f06a /fnl/plugins/editor/spectre.fnl
parent9d4f654187869f96e27ab54a88708aba5959f1ba (diff)
Refactor file structure
Diffstat (limited to 'fnl/plugins/editor/spectre.fnl')
-rw-r--r--fnl/plugins/editor/spectre.fnl54
1 files changed, 54 insertions, 0 deletions
diff --git a/fnl/plugins/editor/spectre.fnl b/fnl/plugins/editor/spectre.fnl
new file mode 100644
index 0000000..92a33ba
--- /dev/null
+++ b/fnl/plugins/editor/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}