From 89dd0df8a17aed3d87385b7f350711b871a57751 Mon Sep 17 00:00:00 2001 From: Sanchayan Maity Date: Mon, 19 Jun 2023 12:21:15 +0530 Subject: [PATCH] nvim: plugins: Drop vim-husk There has not been any update to the plugin in 8 years. Just drop it from the plugin list and incorporate it directly in our config. --- nvim/.config/nvim/autoload/husk.vim | 39 +++++++++++++++++++++++++++ nvim/.config/nvim/lua/keymappings.lua | 8 +++++- nvim/.config/nvim/lua/plugins.lua | 1 - 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 nvim/.config/nvim/autoload/husk.vim diff --git a/nvim/.config/nvim/autoload/husk.vim b/nvim/.config/nvim/autoload/husk.vim new file mode 100644 index 0000000..e8e5cae --- /dev/null +++ b/nvim/.config/nvim/autoload/husk.vim @@ -0,0 +1,39 @@ +function! husk#left() + let line = getcmdline() + let pos = getcmdpos() + let next = 1 + let nextnext = 1 + let i = 2 + while nextnext < pos + let next = nextnext + let nextnext = match(line, '\<\S\|\>\S\|\s\zs\S\|^\|$', 0, i) + 1 + let i += 1 + endwhile + return repeat("\", pos - next) +endfunction + +function! husk#abstract_right(command) + let line = getcmdline() + let pos = getcmdpos() + let next = 1 + let i = 2 + while next <= pos && next > 0 + let next = match(line, '\<\S\|\>\S\|\s\zs\S\|^\|$', 0, i) + 1 + let i += 1 + endwhile + return repeat(a:command, next - pos) +endfunction + +function! husk#right() + return husk#abstract_right("\") +endfunction + +function! husk#del_word() + return husk#abstract_right("\\") +endfunction + +function! husk#clear_line_after_cursor() + let pos = getcmdpos() + let line_len = strlen(getcmdline()) + return repeat("\", line_len - pos + 1) +endfunction diff --git a/nvim/.config/nvim/lua/keymappings.lua b/nvim/.config/nvim/lua/keymappings.lua index b1a27d1..0f3075a 100644 --- a/nvim/.config/nvim/lua/keymappings.lua +++ b/nvim/.config/nvim/lua/keymappings.lua @@ -98,7 +98,13 @@ remap('c', '', 'getcmdtype() =~ \'[?/]\' ? \'\' : feedkeys(\' remap('c', '' , 'pumvisible() ? feedkeys(\'\', \'int\')[1] : \'\'' , expr_opts) remap('c', '', 'pumvisible() ? feedkeys(\'\' , \'int\')[1] : \'\'', expr_opts) -remap('n', '', ':TSHighlightCapturesUnderCursor', opts) +-- Husk mappings +remap('c', '', '' , opts ) +remap('c', '', '' , opts ) +remap('c', '', 'husk#left()' , expr_opts) +remap('c', '', 'husk#right()' , expr_opts) +remap('c', '', 'husk#del_word()' , expr_opts) +remap('c', '', 'husk#clear_line_after_cursor()', expr_opts) -- After shifting a visual block, select it again remap('v', '<', '