summaryrefslogtreecommitdiff
path: root/fnl/config/spectre.fnl
blob: a6df5d11ac3f4cd5e85caf447ff4da18fbdf464e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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})