summaryrefslogtreecommitdiff
path: root/fnl/config
diff options
context:
space:
mode:
authorGustaf Rydholm <gustaf.rydholm@gmail.com>2022-04-05 22:50:21 +0200
committerGustaf Rydholm <gustaf.rydholm@gmail.com>2022-04-05 22:50:21 +0200
commit769f2e1a99863e6dcf620eab6684620be8feabe3 (patch)
tree69b236af97c9ec2694542d09207cdbac10f294fa /fnl/config
parentb579081ce4dbabcbaa334057b0a748cf2cf6ddf6 (diff)
feat(telescope): add fnl config
Diffstat (limited to 'fnl/config')
-rw-r--r--fnl/config/telescope.fnl101
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)))))