aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2022-07-14 16:55:04 -0500
committerToby Vincent <tobyv13@gmail.com>2022-07-14 17:01:34 -0500
commitfd30a859c32ec57c1d8bf1a693e8b487b64cd519 (patch)
tree339dcc48ad2419bbff6b18bdb21299e044968623 /nvim
parentdf5e7d300d6e633dd5060e1ad9ff400038036e70 (diff)
feat(nvim): set vim.ui.select to use normal mode to enable j/k movement
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins.lua8
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua40
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/which-key.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils.lua1
4 files changed, 48 insertions, 2 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins.lua b/nvim/.config/nvim/lua/tobyvin/plugins.lua
index 3007dbe..47def50 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins.lua
@@ -20,7 +20,13 @@ M.plugins = function(use)
require("tobyvin.plugins.notify").setup()
end,
})
- use("stevearc/dressing.nvim")
+
+ use({
+ "stevearc/dressing.nvim",
+ config = function()
+ require("tobyvin.plugins.dressing").setup()
+ end,
+ })
use({
"andweeb/presence.nvim",
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua b/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua
new file mode 100644
index 0000000..e00a363
--- /dev/null
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/dressing.lua
@@ -0,0 +1,40 @@
+local themes = require("telescope.themes")
+local M = {}
+
+M.get_mt = function(kind)
+ return {
+ __index = function(v)
+ local backends = require("dressing.config").get_mod_config(kind).backend
+ if vim.tbl_contains(backends, v) then
+ return { backend = v }
+ end
+ end,
+ }
+end
+
+M.kinds = {
+ select = setmetatable({
+ select_normal = {
+ telescope = themes.get_dropdown({ initial_mode = "normal" }),
+ },
+ }, M.get_mt("input")),
+ input = setmetatable({}, M.get_mt("input")),
+}
+
+M.setup = function()
+ local status_ok, dressing = pcall(require, "dressing")
+ if not status_ok then
+ vim.notify("Failed to load module 'dressing'", "error")
+ return
+ end
+
+ dressing.setup({
+ select = {
+ get_config = function(opts)
+ return M.kinds.select[opts.kind]
+ end,
+ },
+ })
+end
+
+return M
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/which-key.lua b/nvim/.config/nvim/lua/tobyvin/plugins/which-key.lua
index 2f75f01..3b88636 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/which-key.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/which-key.lua
@@ -7,7 +7,6 @@ M.setup = function()
return
end
-vim.opt.timeoutlen = 1500
which_key.setup({
plugins = {
spelling = {
diff --git a/nvim/.config/nvim/lua/tobyvin/utils.lua b/nvim/.config/nvim/lua/tobyvin/utils.lua
index ace6ea9..5b3e932 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils.lua
@@ -34,6 +34,7 @@ M.bdelete = function(opts)
if not opts.force and vim.bo[opts.bufnr].modified then
return vim.ui.select({ "write", "discard", "abort" }, {
prompt = string.format("No write since last change for buffer %d:", opts.bufnr),
+ kind = "select_normal",
}, function(_, idx)
if idx == 1 then
vim.cmd("write")