diff options
Diffstat (limited to 'fnl/plugins/which-key.fnl')
-rw-r--r-- | fnl/plugins/which-key.fnl | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/fnl/plugins/which-key.fnl b/fnl/plugins/which-key.fnl new file mode 100644 index 0000000..9251832 --- /dev/null +++ b/fnl/plugins/which-key.fnl @@ -0,0 +1,47 @@ +;; Which-key provides a pop-up menu for some key mappings. + +(local icons (require :icons)) + +(local opts {:plugins {:marks true + :registers true + :spelling {:enabled true :suggestions 20} + :presets {:operators false + :motions false + :text_objects false + :windows true + :nav true + :z true + :g true}} + :icons {:breadcrumb (. icons :guillemet) + :separator (.. (. icons :small-right-arrow) " ") + :group "+"} + :popup_mappings {:scroll_down :<c-d> :scroll_up :<c-u>} + :window {:border :rounded :position :bottom :winblend 0} + :layout {:height {:min 4 :max 25} + :width {:min 20 :max 50} + :spacing 3 + :align :left} + :hidden [:<silent> :<cmd> :<Cmd> :<CR> :call :lua "^:" "^ "] + :show_help true + :triggers :auto + :disable {:filetypes [:netrw]} + :triggers_blacklist {:i [:j :k] :v [:j :k]}}) + +(local groups {:mode [:n :v] + :<leader>d {:name :+db} + :<leader>f {:name :+find} + :<leader>g {:name :+git} + :<leader>i {:name :+diffview} + :<leader>j {:name :+diagnostics} + :<leader>l {:name :+lsp} + :<leader>o {:name :+orgmode} + :<leader>r {:name :+replace} + :<leader>s {:name :+session} + :<leader>w {:name :+worktree}}) + +(fn config [] + (let [which-key (require :which-key)] + (which-key.setup opts) + (which-key.register groups))) + +{1 :folke/which-key.nvim :event :VeryLazy : config} |