summaryrefslogtreecommitdiff
path: root/fnl/plugins/telescope.fnl
blob: df8c03115404769a21510517cf2d4cd31a69affb (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
102
103
104
105
106
107
108
109
110
111
112
113
;; Telescope a highly extendable fuzzy finder over lists.

(fn setup []
  (let [telescope (require :telescope)
        actions (require :telescope.actions)]
    (telescope.setup {:defaults {:prompt_prefix "   "
                                 :selection_caret "> "
                                 :path_display [:smart]
                                 :color_devicons 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
                                                :q actions.close
                                                :<C-u> actions.preview_scrolling_up
                                                :<C-d> actions.preview_scrolling_down
                                                :<PageUp> actions.results_scrolling_up
                                                :<PageDown> actions.results_scrolling_down
                                                :dd actions.delete_buffer
                                                :? 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 :frecency)
    (telescope.load_extension :orgmode)
    (telescope.load_extension :projects)
    (telescope.load_extension :harpoon)))

{1 :nvim-telescope/telescope.nvim
 :cmd :Telescope
 :dependencies [:nvim-lua/popup.nvim
                :nvim-telescope/telescope-frecency.nvim
                {1 :nvim-telescope/telescope-fzf-native.nvim :build :make}
                :tami5/sqlite.lua
                {1 :ahmedkhalf/project.nvim
                 :event :VeryLazy
                 :opts {:active true
                        :on_config_done nil
                        :manual_mode false
                        :detection_methods [:patterns]
                        :patterns [:git
                                   :_darcs
                                   :.hg
                                   :.bzr
                                   :.svn
                                   :Makefile
                                   :package.json]
                        :show_hidden false
                        :silent_chdir true
                        :ignore_lsp {}
                        :datapath (vim.fn.stdpath :data)}
                 :config (lambda [_ opts]
                           (let [project (require :project_nvim)]
                             (project.setup opts)))}
                :nvim-lua/plenary.nvim
                :nvim-telescope/telescope-fzf-native.nvim
                :nvim-telescope/telescope-frecency.nvim
                :joaomsa/telescope-orgmode.nvim]
 :config (fn []
           (setup))}