diff options
Diffstat (limited to 'neovim/lua/vimrc/buffers.lua')
| -rw-r--r-- | neovim/lua/vimrc/buffers.lua | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/neovim/lua/vimrc/buffers.lua b/neovim/lua/vimrc/buffers.lua new file mode 100644 index 0000000..f185b6f --- /dev/null +++ b/neovim/lua/vimrc/buffers.lua @@ -0,0 +1,35 @@ +local M = {} + +function M.clean_trailing_spaces() + + local save_cursor = vim.fn.getpos(".") + local old_query = vim.fn.getreg("/") + vim.cmd [[%s/\s\+$//e]] + + vim.fn.setpos(".", save_cursor) + vim.fn.setreg("/", old_query) +end + +function M.setup_white_space_highlight(bufnr) + if vim.b.vimrc_trailing_white_space_highlight_enabled then + return + end + + -- if options.get_option_value("trailingwhitespacehighlight", bufnr) == false then + -- return + -- end + + vim.cmd([[highlight link TrailingWhiteSpace Error]]) + vim.cmd([[highlight NonText ctermfg=7 guifg=gray]]) + + vim.cmd("augroup vimrc_trailing_white_space_highlight_buffer_" .. bufnr) + vim.cmd([[autocmd! * <buffer>]]) + vim.cmd([[autocmd BufReadPost <buffer> match TrailingWhiteSpace /\s\+$/]]) + vim.cmd([[autocmd InsertEnter <buffer> match TrailingWhiteSpace /\s\+\%#\@<!$/]]) + vim.cmd([[autocmd InsertLeave <buffer> match TrailingWhiteSpace /\s\+$/]]) + vim.cmd([[augroup END]]) + + vim.b.vimrc_trailing_white_space_highlight_enabled = true +end + +return M |
