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

(let [(ok? telescope) util.load-plugin :telescope]
  (when ok?
    (do
      (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 :project)))))