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

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