vim.loader.enable() vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' vim.o.number = true vim.o.relativenumber = true vim.o.title = true vim.o.termguicolors = true vim.opt.shortmess:append("sI") vim.o.splitright = true vim.o.splitbelow = true vim.g.netrw_keepdir = 0 vim.g.netrw_banner = 0 vim.g.netrw_winsize = 30 vim.g.loaded_node_provider = 0 vim.g.loaded_perl_provider = 0 vim.g.loaded_python_provider = 0 vim.o.list = true vim.o.mouse = 'a' vim.o.foldcolumn = "auto" vim.o.cursorline = true vim.o.laststatus = 2 vim.o.statusline = "%!v:lua.require'lines'.status()" vim.o.tabline = "%!v:lua.require'lines'.tab()" vim.o.signcolumn = 'yes' vim.o.completeopt = "menuone,noselect,popup,fuzzy" vim.o.showtabline = 2 vim.o.exrc = true vim.cmd.colorscheme 'retrobox' vim.keymap.set({ 'n', 'x' }, 'y', '"+y') vim.keymap.set('n', 'p', '"+p') vim.keymap.set('x', 'p', '"+P') vim.o.colorcolumn = '+1' vim.o.hlsearch = true vim.keymap.set('n', '', function() vim.cmd.nohlsearch() end) vim.keymap.set('n', 't', function() vim.cmd.split() vim.cmd.terminal() end) vim.keymap.set('n', 'o', function() vim.cmd.Lexplore() end) vim.keymap.set('n', 'O', function() vim.cmd.Lexplore(vim.fn.expand "%:p:h") end) for _, value in ipairs({ '', '', '', '', '', '', '', '', '' }) do vim.keymap.set({ 'n', 'i' }, value, '', { noremap = true, silent = false }) end require 'mason'.setup {} require 'nvim-treesitter'.update() vim.api.nvim_create_autocmd('FileType', { callback = function(args) local ok = pcall(vim.treesitter.start, args.buf, args.match) if ok then vim.wo.foldmethod = "expr" vim.wo.foldexpr = 'v:lua.vim.treesitter.foldexpr()' vim.bo[args.buf].indentexpr = "v:lua.require'nvim-treesitter'.indentexpr()" end end }) vim.keymap.set('n', 'q', function() vim.diagnostic.setloclist() end) vim.diagnostic.config { virtual_lines = true, } vim.api.nvim_create_autocmd('LspAttach', { callback = function(ev) local client = vim.lsp.get_client_by_id(ev.data.client_id) if not client then return end require 'lsp' (client, ev.buf) end, }) vim.lsp.config('*', { root_markers = { '.git' } }) vim.lsp.enable { "lua_ls", "gopls", "clangd", "mesonlsp", "ts_ls", -- "eslint", "html", "cssls", "jsonls", "ruff", "marksman", "pyright", }