summaryrefslogtreecommitdiff
path: root/plugin/warp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/warp.vim')
-rw-r--r--plugin/warp.vim38
1 files changed, 33 insertions, 5 deletions
diff --git a/plugin/warp.vim b/plugin/warp.vim
index 95391a1..6b1fe68 100644
--- a/plugin/warp.vim
+++ b/plugin/warp.vim
@@ -1,16 +1,44 @@
" Uses a strategy that allows the user to select an arbitrary line and column by
" using 2x2 key strokes. Is more complex, but most powerful.
-command! WarpFull lua require('warp').run(require('warp.col_selectors.grid').grid_strategy, require('warp.win_selectors.prompt'))
+command! WarpFull
+ \ lua require('warp').run(
+ \ require('warp.win_selectors.prompt'),
+ \ require('warp.row_selectors.grid').with_opts({ two_columns = true }),
+ \ require('warp.col_selectors.grid'))
" Uses a strategy that allows the user to select an arbitrary line and column by
" using 2x2 key strokes. Is more complex, but most powerful.
-command! WarpGrid lua require('warp').run(require('warp.col_selectors.grid').grid_strategy)
+command! WarpGrid
+ \ lua require('warp').run(
+ \ require('warp.win_selectors.null'),
+ \ require('warp.row_selectors.grid').with_opts({ two_columns = true }),
+ \ require('warp.col_selectors.grid'))
" Has the user select the column based on nows.
-command! WarpWords lua require('warp').run(require('warp.col_selectors.words').words_strategy)
+command! WarpWords lua require('warp').run(
+ \ require('warp.win_selectors.null'),
+ \ require('warp.row_selectors.grid').with_opts({ two_columns = true }),
+ \ require('warp.col_selectors.words'))
" Warps to the line and leaves the cursor on the current line.
-command! WarpLine lua require('warp').run(require('warp.col_selectors.null').null_strategy)
+command! WarpLine lua require('warp').run(
+ \ require('warp.win_selectors.null'),
+ \ require('warp.row_selectors.grid').with_opts({ two_columns = true }),
+ \ require('warp.col_selectors.null'))
+
+" Warps to the column and leaves the cursor on the same line
+command! WarpCol lua require('warp').run(
+ \ require('warp.win_selectors.null'),
+ \ require('warp.row_selectors.null'),
+ \ require('warp.col_selectors.grid'))
+
+" Warps to a window
+command! WarpWin
+ \ lua require('warp').run(
+ \ require('warp.win_selectors.prompt'),
+ \ require('warp.row_selectors.null'),
+ \ require('warp.col_selectors.null'))
+
noremap <Plug>(warp-grid) <cmd>WarpGrid<cr>
noremap <Plug>(warp-words) <cmd>WarpWords<cr>
@@ -18,4 +46,4 @@ noremap <Plug>(warp-line) <cmd>WarpLine<cr>
onoremap v<Plug>(warp-grid) <cmd>WarpGrid<cr>
onoremap v<Plug>(warp-words) <cmd>WarpWords<cr>
-onoremap v<Plug>(warp-line) <cmd>WarpLine<cr>
+onoremap V<Plug>(warp-line) <cmd>WarpLine<cr>