local listchars = function() vim.opt.listchars:append "space:⋅" end ---@type LazySpec return { "AstroNvim/astrocore", ---@type AstroCoreOpts opts = { features = { large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter autopairs = true, -- enable autopairs at start cmp = true, -- enable completion at start diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on) highlighturl = true, -- highlight URLs at start notifications = true, -- enable notifications at start }, diagnostics = { virtual_text = true, underline = true, }, options = { opt = { -- vim.opt. relativenumber = true, -- sets vim.opt.relativenumber number = true, -- sets vim.opt.number spell = false, -- sets vim.opt.spell signcolumn = "yes", -- sets vim.opt.signcolumn to yes wrap = false, -- sets vim.opt.wrap rnu = true, autoindent = true, list = true, timeoutlen = 100, updatetime = 50, tabstop = 4, softtabstop = 4, shiftwidth = 4, }, g = { -- vim.g. autoformat_enabled = true, -- enable or disable auto formatting at start (lsp.formatting.format_on_save must be enabled) cmp_enabled = true, -- enable completion at start autopairs_enabled = true, -- enable autopairs at start diagnostics_mode = 3, -- set the visibility of diagnostics in the UI (0=off, 1=only show in status line, 2=virtual text off, 3=all on) icons_enabled = true, -- disable icons in the UI (disable if no nerd font is available, requires :PackerSync after changing) ui_notifications_enabled = true, -- disable notifications when toggling UI elements }, listchars(), -- comment this line if you don't want to render dots for empty spaces }, mappings = { -- first key is the mode n = { -- navigate buffer tabs ["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" }, ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, ["bd"] = { function() require("astroui.status.heirline").buffer_picker( function(bufnr) require("astrocore.buffer").close(bufnr) end ) end, desc = "Close buffer from tabline", }, }, }, autocmds = { set_templ_to_format = { { event = { "BufEnter" }, desc = "Set templ filetype to format", pattern = "*.templ", callback = function() vim.bo.filetype = "templ" end, }, }, set_html_to_format = { { event = { "BufReadPost" }, desc = "Set html filetype to htmldjango format", pattern = "*.html", callback = function() vim.bo.filetype = "htmldjango" end, }, }, highlight_yank = { { event = { "TextYankPost" }, desc = "Highlight on yank", callback = function() vim.highlight.on_yank() end, } }, }, }, }