-- Use double backslashes
|
|
vim.api.nvim_set_hl(0, 'InvisibleChar', { bg = '#ff0000', fg = '#ffffff' })
|
|
|
|
vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'TextChanged', 'InsertLeave' }, {
|
|
group = vim.api.nvim_create_augroup('InvisibleChars', { clear = true }),
|
|
callback = function()
|
|
vim.fn.clearmatches()
|
|
vim.fn.matchadd('InvisibleChar', '\\%u2028\\|\\%u200b\\|\\%u200c\\|\\%u200d\\|\\%u2029\\|\\%ufeff')
|
|
end
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'FileType' }, {
|
|
group = vim.api.nvim_create_augroup('TabWidth', { clear = true }),
|
|
pattern = "html,dart,vue,javascript,typescript,typescriptreact,json,markdown,css,sass",
|
|
callback = function()
|
|
vim.opt_local.tabstop = 2
|
|
vim.opt_local.softtabstop = 2
|
|
vim.opt_local.shiftwidth = 2
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'FileType' }, {
|
|
group = vim.api.nvim_create_augroup('DartCommentString', { clear = true }),
|
|
pattern = 'dart',
|
|
callback = function()
|
|
vim.bo.commentstring = '// %s'
|
|
end
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'FileType' }, {
|
|
group = vim.api.nvim_create_augroup('PhpIndent', { clear = true }),
|
|
pattern = 'php',
|
|
callback = function()
|
|
vim.opt_local.smartindent = false
|
|
vim.opt_local.indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()"
|
|
end
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'BufWritePre' }, {
|
|
group = vim.api.nvim_create_augroup('RemoveTrailingWhitespace', { clear = true }),
|
|
command = [[%s/\s\+$//e]],
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, {
|
|
group = vim.api.nvim_create_augroup('DockerExtensionFiletype', { clear = true }),
|
|
pattern = { '*.docker' },
|
|
callback = function()
|
|
vim.opt_local.syntax = 'dockerfile'
|
|
end
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'BufReadPost' }, {
|
|
group = vim.api.nvim_create_augroup('LastCursorPosition', { clear = true }),
|
|
callback = function(event)
|
|
local exclude = { 'gitcommit', 'commit', 'gitrebase' }
|
|
local buf = event.buf
|
|
if
|
|
vim.tbl_contains(exclude, vim.bo[buf].filetype)
|
|
or vim.b[buf].last_loc
|
|
then
|
|
return
|
|
end
|
|
vim.b[buf].last_loc = true
|
|
local mark = vim.api.nvim_buf_get_mark(buf, '"')
|
|
local lcount = vim.api.nvim_buf_line_count(buf)
|
|
if mark[1] > 0 and mark[1] <= lcount then
|
|
pcall(vim.api.nvim_win_set_cursor, 0, mark)
|
|
end
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ 'TextYankPost' }, {
|
|
group = vim.api.nvim_create_augroup('YankHighlight', { clear = true }),
|
|
callback = function()
|
|
vim.hl.on_yank { higroup = "YankColor", timeout = 250 }
|
|
end
|
|
})
|
|
|