summaryrefslogtreecommitdiff
path: root/fnl/plugins/telescope.fnl
blob: dedaaea91a40ec520746cd98969bf688a51804e3 (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
;; Telescope a highly extendable fuzzy finder over lists.

(local dependencies
       [:nvim-lua/plenary.nvim {1 :nvim-orgmode/telescope-orgmode.nvim}])

(local extensions [:orgmode :git_worktree :harpoon])

(λ load-extensions [telescope]
  (each [_ extension (ipairs extensions)]
    (telescope.load_extension extension)))

(local keys [{1 :mb
              2 "<cmd>Telescope buffers theme=dropdown previewer=true initial_mode=normal<cr>"
              :desc "Switch Buffer"}
             {1 :<leader>fC
              2 "<cmd>Telescope commands theme=dropdown<cr>"
              :desc :Commands}
             {1 :<leader>fH
              2 "<cmd>Telescope highlights<cr>"
              :desc :Highlights}
             {1 :<leader>fR
              2 "<cmd>Telescope registers theme=dropdown<cr>"
              :desc :Registers}
             {1 :<leader>gb
              2 "<cmd>Telescope git_branches theme=dropdown<cr>"
              :desc "Checkout Branch"}
             {1 :<leader>fh
              2 "<cmd>Telescope help_tags theme=dropdown<cr>"
              :desc :Help}
             {1 :<leader>fk
              2 "<cmd>Telescope keymaps theme=dropdown<cr>"
              :desc :Keymaps}
             {1 :<leader>fl
              2 "<cmd>Telescope resume theme=dropdown<cr>"
              :desc "Last Search"}
             {1 :<leader>gc
              2 "<cmd>Telescope git_commits theme=dropdown<cr>"
              :desc "Checkout Commit"}])

(λ config []
  (let [telescope (require :telescope)
        icons (require :settings.icons)]
    (telescope.setup {:defaults {:prompt_prefix (.. "  " (. icons :telescope)
                                                    "  ")
                                 :selection_caret (.. (. icons :caret) " ")
                                 :path_display [:smart]
                                 :color_devicons false
                                 :pickers {:find_files {:theme :dropdown
                                                        :disable_devicons true}}
                                 :vimgrep_arguments [:rg
                                                     :--color=never
                                                     :--no-heading
                                                     :--with-filename
                                                     :--line-number
                                                     :--column
                                                     :--smart-case
                                                     :--hidden]}})
    (load-extensions telescope)))

{1 :nvim-telescope/telescope.nvim
 :cmd :Telescope
 : config
 : dependencies
 : keys}