From d656f0dd8c211283dfc6bd7cc3d527aa92635383 Mon Sep 17 00:00:00 2001 From: Michael Mandl Date: Sat, 13 Jul 2024 20:13:08 +0200 Subject: [PATCH] feat(nvim): add wilder as wildmenu replacement --- neovim/default.nix | 4 ++++ neovim/wilder.lua | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 neovim/wilder.lua diff --git a/neovim/default.nix b/neovim/default.nix index a52092c..a5a5048 100644 --- a/neovim/default.nix +++ b/neovim/default.nix @@ -16,6 +16,9 @@ vim-bbye ansible-vim + # better wildmenu + wilder-nvim + # ui dressing-nvim @@ -162,6 +165,7 @@ ${builtins.readFile ./dap.lua } ${builtins.readFile ./neorg.lua } ${builtins.readFile ./illuminate.lua } + ${builtins.readFile ./wilder.lua } vim.g.gitblame_date_format = "%r" EOF diff --git a/neovim/wilder.lua b/neovim/wilder.lua new file mode 100644 index 0000000..9a11ef7 --- /dev/null +++ b/neovim/wilder.lua @@ -0,0 +1,32 @@ +local wilder = require('wilder') + +wilder.setup({ modes = { ':', '/', '?' } }) + +wilder.set_option('pipeline', { + wilder.branch( + wilder.python_file_finder_pipeline({ + file_command = { "rg", "--files" }, + dir_command = { 'find', '.', '-type', 'd', '-printf', '%P\n' }, + filters = { 'fuzzy_filter', 'difflib_sorter' }, + }), + wilder.cmdline_pipeline({ + language = "python", + fuzzy = 1, + }), + wilder.python_search_pipeline({ + pattern = wilder.python_fuzzy_pattern(), + sorter = wilder.python_difflib_sorter(), + engine = 're', + }) + ) +}) + +-- Set renderer +wilder.set_option('renderer', wilder.popupmenu_renderer({ + highlighter = wilder.basic_highlighter(), + left = { ' ', wilder.popupmenu_devicons() }, + right = { ' ', wilder.popupmenu_scrollbar() }, + pumblend = 20, + max_height = '15', -- Adjust the maximum height as needed + border = 'rounded', -- Border style can be 'single', 'double', etc. +}))