summaryrefslogtreecommitdiff
path: root/neovim/lua/vimrc/buffers.lua
blob: f185b6f84318150eb5998b8354dfec5b09ae291c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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