aboutsummaryrefslogtreecommitdiff
path: root/lua/plugins.lua
diff options
context:
space:
mode:
authorjdhao <jdhao@hotmail.com>2023-10-11 20:35:12 +0200
committerjdhao <jdhao@hotmail.com>2023-10-11 20:35:50 +0200
commit54ca6d419198fcca6d7b8f6f81b7fa6d32e2e45c (patch)
tree48b439e22299087e3afa5f2730e678b9faa029b3 /lua/plugins.lua
parent97af59e670be09dfb74d136af94be8ab3b98c25a (diff)
update to nvim 0.9.4
Diffstat (limited to 'lua/plugins.lua')
-rw-r--r--lua/plugins.lua503
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)