diff options
Diffstat (limited to 'lua/plugins.lua')
| -rw-r--r-- | lua/plugins.lua | 503 |
1 files changed, 0 insertions, 503 deletions
diff --git a/lua/plugins.lua b/lua/plugins.lua deleted file mode 100644 index 1edbe04..0000000 --- a/lua/plugins.lua +++ /dev/null @@ -1,503 +0,0 @@ -local utils = require("utils") - -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" - -if not vim.loop.fs_stat(lazypath) then - vim.fn.system { - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - } -end -vim.opt.rtp:prepend(lazypath) - --- check if firenvim is active -local firenvim_not_active = function() - return not vim.g.started_by_firenvim -end - -local plugin_specs = { - -- auto-completion engine - { - "hrsh7th/nvim-cmp", - -- event = 'InsertEnter', - event = "VeryLazy", - dependencies = { - "hrsh7th/cmp-nvim-lsp", - "onsails/lspkind-nvim", - "hrsh7th/cmp-path", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-omni", - "hrsh7th/cmp-emoji", - "quangnguyen30192/cmp-nvim-ultisnips", - }, - config = function() - require("config.nvim-cmp") - end, - }, - - { - "neovim/nvim-lspconfig", - event = { "BufRead", "BufNewFile" }, - config = function() - require("config.lsp") - end, - }, - - { - "nvim-treesitter/nvim-treesitter", - enabled = function() - if vim.g.is_mac then - return true - end - return false - end, - event = "VeryLazy", - build = ":TSUpdate", - config = function() - require("config.treesitter") - end, - }, - - -- Python indent (follows the PEP8 style) - { "Vimjas/vim-python-pep8-indent", ft = { "python" } }, - - -- Python-related text object - { "jeetsukumaran/vim-pythonsense", ft = { "python" } }, - - { "machakann/vim-swap", event = "VeryLazy" }, - - -- IDE for Lisp - -- 'kovisoft/slimv' - { - "vlime/vlime", - enabled = function() - if utils.executable("sbcl") then - return true - end - return false - end, - config = function(plugin) - vim.opt.rtp:append(plugin.dir .. "/vim") - end, - ft = { "lisp" }, - }, - - -- Super fast buffer jump - { - "smoka7/hop.nvim", - event = "VeryLazy", - config = function() - vim.defer_fn(function() - require("config.nvim_hop") - end, 2000) - end, - }, - - -- Show match number and index for searching - { - "kevinhwang91/nvim-hlslens", - branch = "main", - keys = { "*", "#", "n", "N" }, - config = function() - require("config.hlslens") - end, - }, - { - "Yggdroot/LeaderF", - cmd = "Leaderf", - build = function() - if not vim.g.is_win then - vim.cmd(":LeaderfInstallCExtension") - end - end, - }, - "nvim-lua/plenary.nvim", - { - "nvim-telescope/telescope.nvim", - cmd = "Telescope", - dependencies = { - "nvim-telescope/telescope-symbols.nvim", - }, - }, - - -- A list of colorscheme plugin you may want to try. Find what suits you. - { "navarasu/onedark.nvim", lazy = true }, - { "sainnhe/edge", lazy = true }, - { "sainnhe/sonokai", lazy = true }, - { "sainnhe/gruvbox-material", lazy = true }, - { "shaunsingh/nord.nvim", lazy = true }, - { "sainnhe/everforest", lazy = true }, - { "EdenEast/nightfox.nvim", lazy = true }, - { "rebelot/kanagawa.nvim", lazy = true }, - { "catppuccin/nvim", name = "catppuccin", lazy = true }, - { "olimorris/onedarkpro.nvim", lazy = true }, - { "tanvirtin/monokai.nvim", lazy = true }, - { "marko-cerovac/material.nvim", lazy = true }, - - { "nvim-tree/nvim-web-devicons", event = "VeryLazy" }, - - { - "nvim-lualine/lualine.nvim", - event = "VeryLazy", - cond = firenvim_not_active, - config = function() - require("config.statusline") - end, - }, - - { - "akinsho/bufferline.nvim", - event = { "BufEnter" }, - cond = firenvim_not_active, - config = function() - require("config.bufferline") - end, - }, - - -- fancy start screen - { - "nvimdev/dashboard-nvim", - cond = firenvim_not_active, - config = function() - require("config.dashboard-nvim") - end, - }, - - { - "lukas-reineke/indent-blankline.nvim", - event = "VeryLazy", - main = 'ibl', - config = function() - require("config.indent-blankline") - end, - }, - - -- Highlight URLs inside vim - { "itchyny/vim-highlighturl", event = "VeryLazy" }, - - -- notification plugin - { - "rcarriga/nvim-notify", - event = "VeryLazy", - config = function() - vim.defer_fn(function() - require("config.nvim-notify") - end, 2000) - end, - }, - - -- For Windows and Mac, we can open an URL in the browser. For Linux, it may - -- not be possible since we maybe in a server which disables GUI. - { - "tyru/open-browser.vim", - enabled = function() - if vim.g.is_win or vim.g.is_mac then - return true - else - return false - end - end, - event = "VeryLazy", - }, - - -- Only install these plugins if ctags are installed on the system - -- show file tags in vim window - { - "liuchengxu/vista.vim", - enabled = function() - if utils.executable("ctags") then - return true - else - return false - end - end, - cmd = "Vista", - }, - - -- Snippet engine and snippet template - { "SirVer/ultisnips", dependencies = { - "honza/vim-snippets", - }, event = "InsertEnter" }, - - -- Automatic insertion and deletion of a pair of characters - { "Raimondi/delimitMate", event = "InsertEnter" }, - - -- Comment plugin - { "tpope/vim-commentary", event = "VeryLazy" }, - - -- Multiple cursor plugin like Sublime Text? - -- 'mg979/vim-visual-multi' - - -- Autosave files on certain events - { "907th/vim-auto-save", event = "InsertEnter" }, - - -- Show undo history visually - { "simnalamburt/vim-mundo", cmd = { "MundoToggle", "MundoShow" } }, - - -- better UI for some nvim actions - { "stevearc/dressing.nvim" }, - - -- Manage your yank history - { - "gbprod/yanky.nvim", - cmd = { "YankyRingHistory" }, - config = function() - require("config.yanky") - end, - }, - - -- Handy unix command inside Vim (Rename, Move etc.) - { "tpope/vim-eunuch", cmd = { "Rename", "Delete" } }, - - -- Repeat vim motions - { "tpope/vim-repeat", event = "VeryLazy" }, - - { "nvim-zh/better-escape.vim", event = { "InsertEnter" } }, - - { - "lyokha/vim-xkbswitch", - enabled = function() - if vim.g.is_mac and utils.executable("xkbswitch") then - return true - end - return false - end, - event = { "InsertEnter" }, - }, - - { - "Neur1n/neuims", - enabled = function() - if vim.g.is_win then - return true - end - return false - end, - event = { "InsertEnter" }, - }, - - -- Auto format tools - { "sbdchd/neoformat", cmd = { "Neoformat" } }, - - -- Git command inside vim - { - "tpope/vim-fugitive", - event = "User InGitRepo", - config = function() - require("config.fugitive") - end, - }, - - -- Better git log display - { "rbong/vim-flog", cmd = { "Flog" } }, - { "christoomey/vim-conflicted", cmd = { "Conflicted" } }, - { - "ruifm/gitlinker.nvim", - event = "User InGitRepo", - config = function() - require("config.git-linker") - end, - }, - - -- Show git change (change, delete, add) signs in vim sign column - { - "lewis6991/gitsigns.nvim", - config = function() - require("config.gitsigns") - end, - }, - - -- Better git commit experience - { "rhysd/committia.vim", lazy = true }, - { - "kevinhwang91/nvim-bqf", - ft = "qf", - config = function() - require("config.bqf") - end, - }, - - -- Another markdown plugin - { "preservim/vim-markdown", ft = { "markdown" } }, - - -- Faster footnote generation - { "vim-pandoc/vim-markdownfootnotes", ft = { "markdown" } }, - - -- Vim tabular plugin for manipulate tabular, required by markdown plugins - { "godlygeek/tabular", cmd = { "Tabularize" } }, - - -- Markdown previewing (only for Mac and Windows) - { - "iamcco/markdown-preview.nvim", - enabled = function() - if vim.g.is_win or vim.g.is_mac then - return true - end - return false - end, - build = "cd app && npm install", - ft = { "markdown" }, - }, - - { - "folke/zen-mode.nvim", - cmd = "ZenMode", - config = function() - require("config.zen-mode") - end, - }, - - { - "rhysd/vim-grammarous", - enabled = function() - if vim.g.is_mac then - return true - end - return false - end, - ft = { "markdown" }, - }, - - { "chrisbra/unicode.vim", event = "VeryLazy" }, - - -- Additional powerful text object for vim, this plugin should be studied - -- carefully to use its full power - { "wellle/targets.vim", event = "VeryLazy" }, - - -- Plugin to manipulate character pairs quickly - { "machakann/vim-sandwich", event = "VeryLazy" }, - - -- Add indent object for vim (useful for languages like Python) - { "michaeljsmith/vim-indent-object", event = "VeryLazy" }, - - -- Only use these plugin on Windows and Mac and when LaTeX is installed - { - "lervag/vimtex", - enabled = function() - if utils.executable("latex") then - return true - end - return false - end, - ft = { "tex" }, - }, - - -- Since tmux is only available on Linux and Mac, we only enable these plugins - -- for Linux and Mac - -- .tmux.conf syntax highlighting and setting check - { - "tmux-plugins/vim-tmux", - enabled = function() - if utils.executable("tmux") then - return true - end - return false - end, - ft = { "tmux" }, - }, - - -- Modern matchit implementation - { "andymass/vim-matchup", event = "BufRead" }, - { "tpope/vim-scriptease", cmd = { "Scriptnames", "Message", "Verbose" } }, - - -- Asynchronous command execution - { "skywind3000/asyncrun.vim", lazy = true, cmd = { "AsyncRun" } }, - { "cespare/vim-toml", ft = { "toml" }, branch = "main" }, - - -- Edit text area in browser using nvim - { - "glacambre/firenvim", - enabled = function() - if vim.g.is_win or vim.g.is_mac then - return true - end - return false - end, - build = function() - vim.fn["firenvim#install"](0) - end, - lazy = true, - }, - - -- Debugger plugin - { - "sakhnik/nvim-gdb", - enabled = function() - if vim.g.is_win or vim.g.is_linux then - return true - end - return false - end, - build = { "bash install.sh" }, - lazy = true, - }, - - -- Session management plugin - { "tpope/vim-obsession", cmd = "Obsession" }, - - { - "ojroques/vim-oscyank", - enabled = function() - if vim.g.is_linux then - return true - end - return false - end, - cmd = { "OSCYank", "OSCYankReg" }, - }, - - -- The missing auto-completion for cmdline! - { - "gelguy/wilder.nvim", - build = ":UpdateRemotePlugins", - }, - - -- showing keybindings - { - "folke/which-key.nvim", - event = "VeryLazy", - config = function() - vim.defer_fn(function() - require("config.which-key") - end, 2000) - end, - }, - - -- show and trim trailing whitespaces - { "jdhao/whitespace.nvim", event = "VeryLazy" }, - - -- file explorer - { - "nvim-tree/nvim-tree.lua", - keys = { "<space>s" }, - dependencies = { "nvim-tree/nvim-web-devicons" }, - config = function() - require("config.nvim-tree") - end, - }, - - { "ii14/emmylua-nvim", ft = "lua" }, - { - "j-hui/fidget.nvim", - event = "VeryLazy", - tag = "legacy", - config = function() - require("config.fidget-nvim") - end, - }, -} - --- configuration for lazy itself. -local lazy_opts = { - ui = { - border = "rounded", - title = "Plugin Manager", - title_pos = "center", - }, -} - -require("lazy").setup(plugin_specs, lazy_opts) |
