diff options
author | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-05 22:50:21 +0200 |
---|---|---|
committer | Gustaf Rydholm <gustaf.rydholm@gmail.com> | 2022-04-05 22:50:21 +0200 |
commit | 769f2e1a99863e6dcf620eab6684620be8feabe3 (patch) | |
tree | 69b236af97c9ec2694542d09207cdbac10f294fa /fnl/config | |
parent | b579081ce4dbabcbaa334057b0a748cf2cf6ddf6 (diff) |
feat(telescope): add fnl config
Diffstat (limited to 'fnl/config')
-rw-r--r-- | fnl/config/telescope.fnl | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/fnl/config/telescope.fnl b/fnl/config/telescope.fnl new file mode 100644 index 0000000..86986e7 --- /dev/null +++ b/fnl/config/telescope.fnl @@ -0,0 +1,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))))) |