From b9365efa8dad7f3fc50b5821eaa4dbfdf9381f11 Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Wed, 9 Apr 2025 10:44:50 +0200 Subject: [PATCH 1/1] List mode handling how I like it --- .config/nvim/plugin/listmode.lua | 28 ++++++++++++++++++++++++++++ .gitignore.d/neovim | 1 + 2 files changed, 29 insertions(+) create mode 100644 .config/nvim/plugin/listmode.lua diff --git a/.config/nvim/plugin/listmode.lua b/.config/nvim/plugin/listmode.lua new file mode 100644 index 0000000..a0a4c05 --- /dev/null +++ b/.config/nvim/plugin/listmode.lua @@ -0,0 +1,28 @@ +vim.opt.list = true +vim.opt.listchars = { tab = '⇝·', trail = '·', nbsp = '␣' } + +-- disable list mode when inserting stuff, otherwise keep it enabled, it's +-- useful (see also setting lcs) +listinsert = vim.api.nvim_create_augroup('listinsert', { clear = true }) +vim.api.nvim_create_autocmd('InsertEnter', { + desc = 'Disable list mode when starting to insert', + group = listinsert, + callback = function() vim.opt.list = false end +}) +vim.api.nvim_create_autocmd('InsertLeave', { + desc = 'Enable list mode when leaving insert mode', + group = listinsert, + callback = function() vim.opt.list = true end +}) +-- flag trailing spaces as error only when not inserting +tsperrorinsert = vim.api.nvim_create_augroup('tsperrorinsert', { clear = true }) +vim.api.nvim_create_autocmd('InsertEnter', { + desc = 'Disable highlighting trailing spaces in insert mode', + group = tsperrorinsert, + callback = function() vim.cmd([[match none /\s\+$/]]) end +}) +vim.api.nvim_create_autocmd('InsertLeave', { + desc = 'Enable highlighting trailing spaces outside of insert mode', + group = tsperrorinsert, + callback = function() vim.cmd([[match Error /\s\+$/]]) end +}) diff --git a/.gitignore.d/neovim b/.gitignore.d/neovim index 67f09bb..b07238f 100644 --- a/.gitignore.d/neovim +++ b/.gitignore.d/neovim @@ -1,5 +1,6 @@ * !/.config/nvim/autoload/plug.vim !/.config/nvim/init.lua +!/.config/nvim/plugin/listmode.lua !/.config/nvim/plugin/vim-artesanal.lua !/.gitignore.d/neovim -- 2.39.5