summaryrefslogtreecommitdiff
path: root/fnl/config/spectre.fnl
blob: 27161788892ca27eb08f9f600d9561ce2259cedd (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
;; Find and replace.
(module config.spectre
  {autoload {util util}})

(let [spectre (util.load-plugin :spectre)]
  (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}))