72 lines
1.7 KiB
Lua
72 lines
1.7 KiB
Lua
-- Left column
|
|
vim.o.number = true
|
|
vim.o.relativenumber = true
|
|
vim.o.signcolumn = "yes"
|
|
|
|
-- Visuals
|
|
vim.o.showmode = false
|
|
vim.o.winborder = "single"
|
|
vim.o.breakindent = true
|
|
vim.o.cursorline = true
|
|
vim.o.scrolloff = 3
|
|
vim.o.list = true
|
|
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
|
|
|
-- Folding
|
|
vim.o.foldmethod = "expr"
|
|
vim.o.foldlevel = 99
|
|
|
|
-- Experience
|
|
vim.o.confirm = true
|
|
vim.o.expandtab = true
|
|
vim.o.undofile = true
|
|
vim.o.swapfile = false
|
|
vim.g.mapleader = " "
|
|
|
|
-- Search
|
|
vim.o.inccommand = "split"
|
|
vim.o.ignorecase = true
|
|
vim.o.smartcase = true
|
|
|
|
-- Split
|
|
vim.o.splitright = true
|
|
vim.o.splitbelow = true
|
|
|
|
-- Highlights
|
|
vim.o.updatetime = 250
|
|
vim.o.timeoutlen = 300
|
|
vim.api.nvim_create_autocmd("TextYankPost", {
|
|
callback = function()
|
|
vim.hl.on_yank()
|
|
end,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("LspAttach", {
|
|
callback = function(event)
|
|
local highlight_augroup = vim.api.nvim_create_augroup("my.lsp-highlight", { clear = false })
|
|
|
|
vim.api.nvim_create_autocmd({ "CursorHold", "InsertLeave" }, {
|
|
buffer = event.buf,
|
|
group = highlight_augroup,
|
|
callback = vim.lsp.buf.document_highlight,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd({ "CursorMoved", "InsertEnter" }, {
|
|
buffer = event.buf,
|
|
group = highlight_augroup,
|
|
callback = vim.lsp.buf.clear_references,
|
|
})
|
|
|
|
vim.api.nvim_create_autocmd("LspDetach", {
|
|
group = vim.api.nvim_create_augroup("my.lsp-detach", { clear = true }),
|
|
callback = function(event2)
|
|
vim.lsp.buf.clear_references()
|
|
vim.api.nvim_clear_autocmds {
|
|
group = highlight_augroup,
|
|
buffer = event2.buf,
|
|
}
|
|
end,
|
|
})
|
|
end,
|
|
})
|