summaryrefslogtreecommitdiff
path: root/lua/warp/col_selectors
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2024-03-12 23:04:21 +0000
committerJosh Rahm <rahm@google.com>2024-03-12 23:04:21 +0000
commitd7415ac09d7afecc430d64ea17b57ceab7432c2e (patch)
tree7ab43d8c002c7b31d119a9b5e5dfe67a2e164489 /lua/warp/col_selectors
parentff00585c7c9e0cac8d1c75a8cb60fd82519b6856 (diff)
downloadnvim-warp-d7415ac09d7afecc430d64ea17b57ceab7432c2e.tar.gz
nvim-warp-d7415ac09d7afecc430d64ea17b57ceab7432c2e.tar.bz2
nvim-warp-d7415ac09d7afecc430d64ea17b57ceab7432c2e.zip
Big refactor to warp.
Now two lines are displayed for row-choosing. Made row-choosing modular as well.
Diffstat (limited to 'lua/warp/col_selectors')
-rw-r--r--lua/warp/col_selectors/grid.lua10
-rw-r--r--lua/warp/col_selectors/null.lua8
-rw-r--r--lua/warp/col_selectors/words.lua9
3 files changed, 16 insertions, 11 deletions
diff --git a/lua/warp/col_selectors/grid.lua b/lua/warp/col_selectors/grid.lua
index bc37b56..5f575d8 100644
--- a/lua/warp/col_selectors/grid.lua
+++ b/lua/warp/col_selectors/grid.lua
@@ -1,5 +1,6 @@
local vim = assert(vim)
+local util = require('warp.util')
local M = {}
local hsel1 = "tnshrdlcmwfpgkbvjxy" -- 19
@@ -41,7 +42,7 @@ local big_line, col_map = make_big_line()
M.strategy = function()
local filter
- return {
+ return util.wrap_col_selector({
display = function()
local curpos = vim.api.nvim_win_get_cursor(0)
local line_at = vim.fn.getline(curpos[1])
@@ -85,7 +86,12 @@ M.strategy = function()
return false
end
- }
+ })
end
+M.run = function ()
+ M.strategy().run()
+end
+
+
return M
diff --git a/lua/warp/col_selectors/null.lua b/lua/warp/col_selectors/null.lua
index eb00921..61a1f79 100644
--- a/lua/warp/col_selectors/null.lua
+++ b/lua/warp/col_selectors/null.lua
@@ -1,12 +1,6 @@
-local vim = assert(vim)
-
local M = {}
-M.null_strategy = function()
- return {
- display = function() return nil end,
- on_char = function() return false end
- }
+M.run = function ()
end
return M
diff --git a/lua/warp/col_selectors/words.lua b/lua/warp/col_selectors/words.lua
index 8135a45..305477c 100644
--- a/lua/warp/col_selectors/words.lua
+++ b/lua/warp/col_selectors/words.lua
@@ -2,6 +2,7 @@ local vim = assert(vim)
local M = {}
local alphabet = "etansihrdlocumwfgypkbvjxqz"
+local util = require('warp.util')
local function split_lines(line)
local i
@@ -49,10 +50,14 @@ local function split_lines(line)
return winstr, chars_to_col
end
+M.run = function ()
+ M.words_strategy().run()
+end
+
M.words_strategy = function()
local chartab
- return {
+ return util.wrap_col_selector({
display = function()
local curpos = vim.api.nvim_win_get_cursor(0)
local line_at = vim.fn.getline(curpos[1])
@@ -71,7 +76,7 @@ M.words_strategy = function()
end
return false
end
- }
+ })
end
return M