LAZY_NVIM_REPO_URL = "https://github.com/folke/lazy.nvim.git" LAZY_NVIM_PATH = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" LAZY_NVIM_REF = "v11.14.1" AYU_NVIM_PLUGIN_PRIO = 100 local function bootstrap_plugin_manager() if not (vim.uv or vim.loop).fs_stat(LAZY_NVIM_PATH) then local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=" .. LAZY_NVIM_REF, LAZY_NVIM_REPO_URL, LAZY_NVIM_PATH }) if vim.v.shell_error ~= 0 then vim.api.nvim_echo( { { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, { out, "WarningMsg" }, { "\nPress any key to exit..." }, }, true, {} ) vim.fn.getchar() os.exit(1) end end vim.opt.rtp:prepend(LAZY_NVIM_PATH) end bootstrap_plugin_manager() -- Setup lazy.nvim require("lazy").setup({ spec = { -- Style { "Shatur/neovim-ayu", commit = "d7a2b754c9f9be3c30e14a53d6cfda3e111edd24", priority = AYU_NVIM_PLUGIN_PRIO, main = "ayu", opts = function() local ayu_colors = require('ayu.colors') ayu_colors.generate() ayu_colors.entity = "#3EB8FF" ayu_colors.tag = ayu_colors.fg -- The colors should not be regenerated require("ayu.colors").generate = function() end return { overrides = { WinSeparator = { fg = ayu_colors.comment, bg = ayu_colors.bg }, LineNrAbove = { fg = ayu_colors.comment }, LineNrBelow = { fg = ayu_colors.comment }, LineNr = { fg = ayu_colors.accent }, TerminalWindow = { fg = ayu_colors.fg, bg = ayu_colors.panel_bg }, ColorColumn = { bg = ayu_colors.error }, RainbowRed ={ fg = "#E06C75" }, RainbowYellow = { fg = "#E5C07B" }, RainbowBlue = { fg = "#61AFEF" }, RainbowOrange = { fg = "#D19A66" }, RainbowGreen = { fg = "#98C379" }, RainbowViolet = { fg = "#C678DD" }, RainbowCyan = { fg = "#56B6C2" }, } } end, config = function(_, opts) require("ayu").setup(opts) vim.cmd("colorscheme ayu") end }, { "nvim-lualine/lualine.nvim", commit = "0a5a66803c7407767b799067986b4dc3036e1983", dependencies = { "nvim-tree/nvim-web-devicons" }, opts = { options = { theme = "ayu_dark", globalstatus = true, }, } }, { "akinsho/bufferline.nvim", tag = "v4.6.1", dependencies = { "nvim-tree/nvim-web-devicons" }, priority = AYU_NVIM_PLUGIN_PRIO - 10, opts = function() local selected_buffer_bg = "#1E2126" local ayu_colors = require("ayu.colors") return { options = { style_preset = require("bufferline").style_preset.no_italic, show_buffer_close_icons = false, show_close_icon = false, indicator = { style = "none" }, diagnostics = "coc", }, highlights = { buffer_selected = { bg = selected_buffer_bg }, buffer_visible = { bg = selected_buffer_bg }, diagnostic_selected = { bg = selected_buffer_bg }, hint_selected = { bg = selected_buffer_bg }, info_selected = { bg = selected_buffer_bg }, warning_selected = { bg = selected_buffer_bg }, error_selected = { bg = selected_buffer_bg }, indicator_selected = { fg = ayu_colors.accent } } } end }, { "lukas-reineke/indent-blankline.nvim", main = "ibl", tag = "v3.5.3", priority = AYU_NVIM_PLUGIN_PRIO - 20, opts = function() return { indent = { char = '¦' }, scope = { highlight = { "RainbowRed", "RainbowYellow", "RainbowBlue", "RainbowOrange", "RainbowGreen", "RainbowViolet", "RainbowCyan", }, show_start = false, show_exact_scope = false } } end, config = function(_, opts) require("ibl").setup(opts) local hooks = require "ibl.hooks" hooks.register( hooks.type.SCOPE_HIGHLIGHT, hooks.builtin.scope_highlight_from_extmark ) end }, -- Style end -- Telescope { "nvim-telescope/telescope.nvim", tag = "0.1.8", dependencies = { { "nvim-lua/plenary.nvim", commit = "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" } } }, { "nvim-telescope/telescope-fzf-native.nvim", commit = "9ef21b2e6bb6ebeaf349a0781745549bbb870d27", build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && \ cmake --build build --config Release && \ cmake --install build --prefix build" }, { "nvim-telescope/telescope-file-browser.nvim", commit = "1280db1f835bd6b73a485d6f1149e02df67533c4", dependencies = { { "nvim-lua/plenary.nvim", commit = "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" } }, config = function() local extensions_mod = require("telescope._extensions") extensions_mod._config.file_browser = { grouped = true, respect_gitignore = false } require("telescope").load_extension("file_browser") end }, { "Snikimonkd/telescope-git-conflicts.nvim", commit = "1ac7040f601d16ab3800bdda6f5912a0e385cb29", dependencies = { { "nvim-lua/plenary.nvim", commit = "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" } } }, { "fannheyward/telescope-coc.nvim", commit = "0819a790dc95336ce2a954513434a76bb76c41c7", dependencies = { { "nvim-lua/plenary.nvim", commit = "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" } } }, -- Telescope end -- Syntax highlighting & formatting { "tikhomirov/vim-glsl", commit = "bfd330a271933c3372fcfa8ce052970746c8e9dd" }, { "rhysd/vim-clang-format", commit = "6b791825ff478061ad1c57b21bb1ed5a5fd0eb29" }, { "nvim-treesitter/nvim-treesitter", commit = "1c111e3e8f42c85b16cb4bf30e4254fcb5607817"; build = ":TSUpdate", config = function () local configs = require("nvim-treesitter.configs") configs.setup({ ensure_installed = { "c", "lua", "vim", "vimdoc", "rust", "python", "javascript", "html", "cpp" }, sync_install = false, highlight = { enable = true, }, indent = { enable = true }, }) end }, { "https://gitlab.com/HiPhish/rainbow-delimiters.nvim", commit = "d227e6c9879bb50af35cd733461198666981d482", -- 0.6.2 init = function() vim.g.rainbow_delimiters = { highlight = { "RainbowRed", "RainbowYellow", "RainbowBlue", "RainbowOrange", "RainbowGreen", "RainbowViolet", "RainbowCyan", }, } end }, -- Syntax & formatting end -- Markdown { "preservim/vim-markdown", commit = "a657e697376909c41475a686eeef7fc7a4972d94" }, { "iamcco/markdown-preview.nvim", commit = "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee", build = "cd app && npm install" }, -- Markdown end { "tpope/vim-fugitive", commit = "4f59455d2388e113bd510e85b310d15b9228ca0d" }, { "neoclide/coc.nvim", commit = "5fdf3d6bdbefbd04bed82a4e605d5952024dd25b", build = "npm install" }, { "christoomey/vim-tmux-navigator", commit = "5b3c701686fb4e6629c100ed32e827edf8dad01e" }, }, install = { colorscheme = { "ayu" } }, checker = { enabled = true }, })