vim.g.base46_cache = vim.fn.stdpath("data") .. "/nvchad/base46/" vim.g.mapleader = " " -- bootstrap lazy and all plugins local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.loop.fs_stat(lazypath) then local repo = "https://github.com/folke/lazy.nvim.git" vim.fn.system({ "git", "clone", "--filter=blob:none", repo, "--branch=stable", lazypath }) end vim.opt.rtp:prepend(lazypath) local lazy_config = require("configs.lazy") -- load plugins require("lazy").setup({ { "NvChad/NvChad", lazy = false, branch = "v2.5", import = "nvchad.plugins", config = function() require("options") end, }, { "LazyVim/LazyVim", import = "lazyvim.plugins" }, { import = "plugins" }, }, lazy_config) -- load theme dofile(vim.g.base46_cache .. "defaults") dofile(vim.g.base46_cache .. "statusline") require("nvchad.autocmds") vim.schedule(function() require("mappings") end) require("toggleterm").setup() require("noice").setup({ popupmenu = { -- cmp-cmdline has more sources and can be extended backend = "cmp", -- backend to use to show regular cmdline completions }, lsp = { -- override markdown rendering so that **cmp** and other plugins use **Treesitter** override = { ["vim.lsp.util.convert_input_to_markdown_lines"] = true, ["vim.lsp.util.stylize_markdown"] = true, ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp }, }, -- you can enable a preset for easier configuration presets = { bottom_search = true, -- use a classic bottom cmdline for search command_palette = true, -- position the cmdline and popupmenu together long_message_to_split = true, -- long messages will be sent to a split inc_rename = true, -- enables an input dialog for inc-rename.nvim lsp_doc_border = true, -- add a border to hover docs and signature help }, vim.api.nvim_create_autocmd("BufNewFile", { pattern = { "*.cpp" }, command = "0r ~/.config/nvim/templates/skeleton.cpp", }), })