vim.opt.termguicolors = true vim.opt.colorcolumn = "100" vim.opt.number = true vim.opt.relativenumber = true vim.opt.mouse = "a" vim.opt.showmode = false vim.opt.guicursor = "n-v-i-c:block-Cursor" vim.opt.signcolumn = "yes" vim.opt.cursorline = true vim.opt.scrolloff = 10 vim.api.nvim_set_hl(0, "Comment", { italic = true }) vim.schedule(function() vim.opt.clipboard = "unnamedplus" end) vim.opt.breakindent = true vim.opt.undofile = true vim.opt.ignorecase = true vim.opt.smartcase = true vim.opt.updatetime = 250 vim.opt.timeoutlen = 300 vim.opt.splitright = true vim.opt.splitbelow = true vim.opt.list = true vim.opt.listchars = { tab = "» ", trail = "·", nbsp = "␣" } vim.opt.inccommand = "split" vim.opt.tabstop = 4 vim.opt.shiftwidth = 4 vim.opt.expandtab = true vim.diagnostic.config({ signs = true, virtual_text = true, update_in_insert = false, severity_sort = true, }) vim.opt.conceallevel = 1 -- Failsafe: Completely block treesitter from starting on markdown -- This prevents crashes in Neovim 0.12+ hovers/files local original_ts_start = vim.treesitter.start vim.treesitter.start = function(bufnr, lang) local buf = bufnr or vim.api.nvim_get_current_buf() local ft = lang or vim.bo[buf].filetype if ft == "markdown" or ft == "markdown_inline" then return false end return original_ts_start(bufnr, lang) end