summaryrefslogtreecommitdiff
path: root/fnl/config/telescope.fnl
blob: 0babcf8a55bdc9b57e51e690c01d53cced40d59d (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
;; Telescope a highly extendable fuzzy finder over lists.
(module config.telescope
  {autoload {util util}})

(let [telescope (util.load-plugin :telescope)]
  (let [actions (require :telescope.actions)]
    (telescope.setup
      {:defaults
       {:prompt_prefix " "
        :selection_caret " "
        :path_display [:smart]
        :initial_mode :insert
        :selection_strategy :reset
        :sorting_strategy :ascending
        :layout_strategy :horizontal
        :layout_config {:prompt_position :top
                        :preview_cutoff 120
                        :horizontal {:mirror false}
                        :vertical {:mirror false}}
        :vimgrep_arguments [:rg
                            :--color=never
                            :--no-heading
                            :--with-filename
                            :--line-number
                            :--column
                            :--smart-case
                            :--hidden]
        :mappings {:i
                   {:<C-n> actions.cycle_history_next
                    :<C-p> actions.cycle_history_prev
                    :<C-j> actions.move_selection_next
                    :<C-k> actions.move_selection_previous
                    :<C-c> actions.close
                    :<Down> actions.move_selection_next
                    :<Up> actions.move_selection_previous
                    :<CR> actions.select_default
                    :<C-x> actions.select_horizontal
                    :<C-v> actions.select_vertical
                    :<C-t> actions.select_tab
                    :<C-u> actions.preview_scrolling_up
                    :<C-d> actions.preview_scrolling_down
                    :<PageUp> actions.results_scrolling_up
                    :<PageDown> actions.results_scrolling_down
                    :<Tab> (+ actions.toggle_selection
                              actions.move_selection_worse)
                    :<S-Tab> (+ actions.toggle_selection
                                actions.move_selection_better)
                    :<C-q> (+ actions.send_to_qflist
                              actions.open_qflist)
                    :<M-q> (+ actions.send_selected_to_qflist
                              actions.open_qflist)
                    :<C-l> actions.complete_tag
                    :<C-_> actions.which_key}
                   :n
                    {:<esc> actions.close
                     :<CR> actions.select_default
                     :<C-x> actions.select_horizontal
                     :<C-v> actions.select_vertical
                     :<C-t> actions.select_tab
                     :<Tab> (+ actions.toggle_selection
                               actions.move_selection_worse)
                     :<S-Tab> (+ actions.toggle_selection
                                 actions.move_selection_better)
                     :<C-q> (+ actions.send_to_qflist
                               actions.open_qflist)
                     :<M-q> (+ actions.send_selected_to_qflist
                               actions.open_qflist)
                     :j actions.move_selection_next
                     :k actions.move_selection_previous
                     :H actions.move_to_top
                     :M actions.move_to_middle
                     :L actions.move_to_bottom
                     :<Down> actions.move_selection_next
                     :<Up> actions.move_selection_previous
                     :gg actions.move_to_top
                     :G actions.move_to_bottom
                     :<C-u> actions.preview_scrolling_up
                     :<C-d> actions.preview_scrolling_down
                     :<PageUp> actions.results_scrolling_up
                     :<PageDown> actions.results_scrolling_down
                     :? actions.which_key}}}
       :extensions {:fzf {:fuzzy true
                          :override_generic_sorter true
                          :override_file_sorter true
                          :case_mode :smart_case}}})
    (telescope.load_extension :fzf)
    (telescope.load_extension :file_browser)
    (telescope.load_extension :projects)))