Browse Source

nixpkgs/neovim: add mapping to toggle ,/; at end of line

Thomas Dy 1 tuần trước cách đây
mục cha
commit
8fd5743c78
2 tập tin đã thay đổi với 16 bổ sung0 xóa
  1. 4 0
      .config/nixpkgs/neovim/mappings.lua
  2. 12 0
      .config/nixpkgs/neovim/plugins.lua

+ 4 - 0
.config/nixpkgs/neovim/mappings.lua

@@ -69,6 +69,10 @@ vim.keymap.set('n', '<Leader>Q', '<cmd>lua MiniBufremove.delete(0, true)<CR>', o
 vim.keymap.set('n', '<Leader>s', '<cmd>TSJSplit<CR>', opts)
 vim.keymap.set('n', '<Leader>j', '<cmd>TSJJoin<CR>', opts)
 
+-- add ,/; to end of line
+vim.keymap.set('i', '<C-,>', function() toggle_end_char(',') end, opts)
+vim.keymap.set('i', '<C-;>', function() toggle_end_char(';') end, opts)
+
 -- diagnostics
 vim.keymap.set('n', '<space>e', function() vim.diagnostic.open_float() end, opts)
 vim.keymap.set('n', '[d', function() vim.diagnostic.jump({ count = -1, float = true, severity = vim.diagnostic.severity.ERROR }) end, opts)

+ 12 - 0
.config/nixpkgs/neovim/plugins.lua

@@ -402,3 +402,15 @@ require('blink.cmp').setup({
 
 -- typescript-vim compiler options
 vim.g.typescript_compiler_options = '--incremental --noEmit'
+
+-- stuff
+_G.toggle_end_char = function(char)
+  local cursor = vim.api.nvim_win_get_cursor(0)
+  local row = cursor[1] - 1
+  local end_char = vim.api.nvim_buf_get_text(0, row, -2, row, -1, {})[1]
+  if end_char == char then
+    vim.api.nvim_buf_set_text(0, row, -2, row, -1, {})
+  else
+    vim.api.nvim_buf_set_text(0, row, -1, row, -1, { char })
+  end
+end