diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/plugins.lua | 692 | 
1 files changed, 346 insertions, 346 deletions
| diff --git a/lua/plugins.lua b/lua/plugins.lua index e675b200..e4ec5fb4 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -1,361 +1,361 @@  local execute = vim.api.nvim_command  local fn = vim.fn -local install_path = fn.stdpath "data" .. "/site/pack/packer/start/packer.nvim" +local install_path = fn.stdpath("data") .. "/site/pack/packer/start/packer.nvim"  if fn.empty(fn.glob(install_path)) > 0 then -  execute("!git clone https://github.com/wbthomason/packer.nvim " .. install_path) -  execute "packadd packer.nvim" +	execute("!git clone https://github.com/wbthomason/packer.nvim " .. install_path) +	execute("packadd packer.nvim")  end  local packer_ok, packer = pcall(require, "packer")  if not packer_ok then -  return +	return  end -packer.init { -  git = { clone_timeout = 300 }, -  display = { -    open_fn = function() -      return require("packer.util").float { border = "single" } -    end, -  }, -} +packer.init({ +	git = { clone_timeout = 300 }, +	display = { +		open_fn = function() +			return require("packer.util").float({ border = "single" }) +		end, +	}, +}) -vim.cmd "autocmd BufWritePost plugins.lua PackerCompile" +vim.cmd("autocmd BufWritePost plugins.lua PackerCompile")  return require("packer").startup(function(use) -  -- Packer can manage itself as an optional plugin -  use "wbthomason/packer.nvim" - -  -- TODO refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function) -  use { "neovim/nvim-lspconfig" } -  use { "kabouzeid/nvim-lspinstall", event = "BufRead" } -  -- Telescope -  use { "nvim-lua/popup.nvim" } -  use { "nvim-lua/plenary.nvim" } -  use { "tjdevries/astronauta.nvim" } -  use { -    "nvim-telescope/telescope.nvim", -    config = [[require('lv-telescope')]], -    event = "BufEnter", -  } - -  -- Autocomplete -  use { -    "hrsh7th/nvim-compe", -    event = "InsertEnter", -    config = function() -      require("lv-compe").config() -    end, -  } - -  use { "hrsh7th/vim-vsnip", event = "InsertEnter" } -  use { "rafamadriz/friendly-snippets", event = "InsertEnter" } - -  -- Treesitter -  use { "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" } - -  -- Neoformat -  use { "sbdchd/neoformat" } - -  use { -    "kyazdani42/nvim-tree.lua", -    -- cmd = "NvimTreeToggle", -    config = function() -      require("lv-nvimtree").config() -    end, -  } - -  use { -    "lewis6991/gitsigns.nvim", - -    config = function() -      require("lv-gitsigns").config() -    end, -    event = "BufRead", -  } - -  -- whichkey -  use { "folke/which-key.nvim" } - -  -- Autopairs -  use { -    "windwp/nvim-autopairs", -    event = "InsertEnter", -    after = { "telescope.nvim" }, -    config = function() -      require "lv-autopairs" -    end, -  } - -  -- Comments -  use { -    "terrortylor/nvim-comment", -    cmd = "CommentToggle", -    config = function() -      local status_ok, nvim_comment = pcall(require, "nvim_comment") -      if not status_ok then -        return -      end -      nvim_comment.setup() -    end, -  } - -  -- Color -  use { "christianchiarulli/nvcode-color-schemes.vim", opt = true } - -  -- Icons -  use { "kyazdani42/nvim-web-devicons" } - -  -- Status Line and Bufferline -  use { "glepnir/galaxyline.nvim" } - -  use { -    "romgrk/barbar.nvim", -    config = function() -      vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true }) -      vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true }) -      vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true }) -    end, -    -- event = "BufRead", -  } - -  -- Builtins, these do not load by default - -  -- Dashboard -  use { -    "ChristianChiarulli/dashboard-nvim", -    event = "BufWinEnter", -    -- cmd = { "Dashboard", "DashboardNewFile", "DashboardJumpMarks" }, -    config = function() -      require("lv-dashboard").config() -    end, -    disable = not O.plugin.dashboard.active, -    opt = true, -  } -  -- Zen Mode -  use { -    "folke/zen-mode.nvim", -    cmd = "ZenMode", -    -- event = "BufRead", -    config = function() -      require("lv-zen").config() -    end, -    disable = not O.plugin.zen.active, -  } - -  use { -    "norcalli/nvim-colorizer.lua", -    event = "BufRead", -    config = function() -      require "lv-colorizer" -      -- vim.cmd "ColorizerReloadAllBuffers" -    end, -    disable = not O.plugin.colorizer.active, -  } - -  -- Treesitter playground -  use { -    "nvim-treesitter/playground", -    event = "BufRead", -    disable = not O.plugin.ts_playground.active, -  } - -  use { -    "lukas-reineke/indent-blankline.nvim", -    event = "BufRead", -    setup = function() -      vim.g.indentLine_enabled = 1 -      vim.g.indent_blankline_char = "▏" - -      vim.g.indent_blankline_filetype_exclude = { -        "help", -        "terminal", -        "dashboard", -      } -      vim.g.indent_blankline_buftype_exclude = { "terminal" } - -      vim.g.indent_blankline_show_trailing_blankline_indent = false -      vim.g.indent_blankline_show_first_indent_level = true -    end, -    disable = not O.plugin.indent_line.active, -  } - -  -- comments in context -  use { -    "JoosepAlviste/nvim-ts-context-commentstring", -    event = "BufRead", -    disable = not O.plugin.ts_context_commentstring.active, -  } - -  -- Symbol Outline -  use { -    "simrat39/symbols-outline.nvim", -    cmd = "SymbolsOutline", -    disable = not O.plugin.symbol_outline.active, -  } -  -- diagnostics -  use { -    "folke/trouble.nvim", -    cmd = "TroubleToggle", -    disable = not O.plugin.trouble.active, -  } - -  -- Debugging -  use { -    "mfussenegger/nvim-dap", -    config = function() -      local status_ok, dap = pcall(require, "dap") -      if not status_ok then -        return -      end -      -- require "dap" -      vim.fn.sign_define("DapBreakpoint", { -        text = "", -        texthl = "LspDiagnosticsSignError", -        linehl = "", -        numhl = "", -      }) -      dap.defaults.fallback.terminal_win_cmd = "50vsplit new" -    end, -    disable = not O.plugin.debug.active, -  } - -  -- Floating terminal -  use { -    "numToStr/FTerm.nvim", -    event = "BufWinEnter", -    config = function() -      require("lv-floatterm").config() -    end, -    disable = not O.plugin.floatterm.active, -  } - -  -- Use fzy for telescope -  use { -    "nvim-telescope/telescope-fzy-native.nvim", -    event = "BufRead", -    disable = not O.plugin.telescope_fzy.active, -  } - -  -- Use project for telescope -  use { -    "nvim-telescope/telescope-project.nvim", -    event = "BufRead", -    setup = function() -      vim.cmd [[packadd telescope.nvim]] -    end, -    disable = not O.plugin.telescope_project.active, -  } - -  -- Sane gx for netrw_gx bug -  use { -    "felipec/vim-sanegx", -    event = "BufRead", -    disable = not O.plugin.sanegx.active, -  } - -  -- Diffview -  use { -    "sindrets/diffview.nvim", -    event = "BufRead", -    disable = not O.plugin.diffview.active, -  } - -  -- Lush Create Color Schemes -  use { -    "rktjmp/lush.nvim", -    -- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"}, -    disable = not O.plugin.lush.active, -  } - -  -- Debugger management -  use { -    "Pocco81/DAPInstall.nvim", -    -- event = "BufRead", -    disable = not O.plugin.dap_install.active, -  } - -  -- LANGUAGE SPECIFIC GOES HERE -  use { -    "lervag/vimtex", -    ft = "tex", -    config = function() -      require "lv-vimtex" -    end, -  } - -  -- Rust tools -  -- TODO: use lazy loading maybe? -  use { -    "simrat39/rust-tools.nvim", -    disable = not O.lang.rust.rust_tools.active, -  } - -  -- Elixir -  use { "elixir-editors/vim-elixir", ft = { "elixir", "eelixir", "euphoria3" } } - -  -- Javascript / Typescript -  use { -    "jose-elias-alvarez/nvim-lsp-ts-utils", -    ft = { -      "javascript", -      "javascriptreact", -      "javascript.jsx", -      "typescript", -      "typescriptreact", -      "typescript.tsx", -    }, -  } -  -- use { -  --   "jose-elias-alvarez/null-ls.nvim", -  --   ft = { -  --     "javascript", -  --     "javascriptreact", -  --     "javascript.jsx", -  --     "typescript", -  --     "typescriptreact", -  --     "typescript.tsx", -  --   }, -  --   config = function() -  --     require("null-ls").setup() -  --   end, -  -- } - -  -- Pretty parentheses -  use { -    "p00f/nvim-ts-rainbow", -    disable = not O.plugin.ts_rainbow.active, -  } - -  -- Autotags <div>|</div> -  use { -    "windwp/nvim-ts-autotag", -    event = "InsertEnter", -    disable = not O.plugin.ts_autotag.active, -  } - -  -- Custom semantic text objects -  use { -    "nvim-treesitter/nvim-treesitter-textobjects", -    disable = not O.plugin.ts_textobjects.active, -  } - -  -- Smart text objects -  use { -    "RRethy/nvim-treesitter-textsubjects", -    disable = not O.plugin.ts_textsubjects.active, -  } - -  -- Text objects using hint labels -  use { -    "mfussenegger/nvim-ts-hint-textobject", -    event = "BufRead", -    disable = not O.plugin.ts_hintobjects.active, -  } - -  for _, plugin in pairs(O.user_plugins) do -    packer.use(plugin) -  end +	-- Packer can manage itself as an optional plugin +	use("wbthomason/packer.nvim") + +	-- TODO refactor all of this (for now it works, but yes I know it could be wrapped in a simpler function) +	use({ "neovim/nvim-lspconfig" }) +	use({ "kabouzeid/nvim-lspinstall", event = "BufRead" }) +	-- Telescope +	use({ "nvim-lua/popup.nvim" }) +	use({ "nvim-lua/plenary.nvim" }) +	use({ "tjdevries/astronauta.nvim" }) +	use({ +		"nvim-telescope/telescope.nvim", +		config = [[require('lv-telescope')]], +		event = "BufEnter", +	}) + +	-- Autocomplete +	use({ +		"hrsh7th/nvim-compe", +		event = "InsertEnter", +		config = function() +			require("lv-compe").config() +		end, +	}) + +	use({ "hrsh7th/vim-vsnip", event = "InsertEnter" }) +	use({ "rafamadriz/friendly-snippets", event = "InsertEnter" }) + +	-- Treesitter +	use({ "nvim-treesitter/nvim-treesitter", run = ":TSUpdate" }) + +	-- Neoformat +	use({ "sbdchd/neoformat" }) + +	use({ +		"kyazdani42/nvim-tree.lua", +		-- cmd = "NvimTreeToggle", +		config = function() +			require("lv-nvimtree").config() +		end, +	}) + +	use({ +		"lewis6991/gitsigns.nvim", + +		config = function() +			require("lv-gitsigns").config() +		end, +		event = "BufRead", +	}) + +	-- whichkey +	use({ "folke/which-key.nvim" }) + +	-- Autopairs +	use({ +		"windwp/nvim-autopairs", +		event = "InsertEnter", +		after = { "telescope.nvim" }, +		config = function() +			require("lv-autopairs") +		end, +	}) + +	-- Comments +	use({ +		"terrortylor/nvim-comment", +		cmd = "CommentToggle", +		config = function() +			local status_ok, nvim_comment = pcall(require, "nvim_comment") +			if not status_ok then +				return +			end +			nvim_comment.setup() +		end, +	}) + +	-- Color +	use({ "christianchiarulli/nvcode-color-schemes.vim", opt = true }) + +	-- Icons +	use({ "kyazdani42/nvim-web-devicons" }) + +	-- Status Line and Bufferline +	use({ "glepnir/galaxyline.nvim" }) + +	use({ +		"romgrk/barbar.nvim", +		config = function() +			vim.api.nvim_set_keymap("n", "<TAB>", ":BufferNext<CR>", { noremap = true, silent = true }) +			vim.api.nvim_set_keymap("n", "<S-TAB>", ":BufferPrevious<CR>", { noremap = true, silent = true }) +			vim.api.nvim_set_keymap("n", "<S-x>", ":BufferClose<CR>", { noremap = true, silent = true }) +		end, +		-- event = "BufRead", +	}) + +	-- Builtins, these do not load by default + +	-- Dashboard +	use({ +		"ChristianChiarulli/dashboard-nvim", +		-- event = "BufWinEnter", +		-- cmd = { "Dashboard", "DashboardNewFile", "DashboardJumpMarks" }, +		config = function() +			require("lv-dashboard").config() +		end, +		disable = not O.plugin.dashboard.active, +		-- opt = true, +	}) +	-- Zen Mode +	use({ +		"folke/zen-mode.nvim", +		cmd = "ZenMode", +		-- event = "BufRead", +		config = function() +			require("lv-zen").config() +		end, +		disable = not O.plugin.zen.active, +	}) + +	use({ +		"norcalli/nvim-colorizer.lua", +		event = "BufRead", +		config = function() +			require("lv-colorizer") +			-- vim.cmd "ColorizerReloadAllBuffers" +		end, +		disable = not O.plugin.colorizer.active, +	}) + +	-- Treesitter playground +	use({ +		"nvim-treesitter/playground", +		event = "BufRead", +		disable = not O.plugin.ts_playground.active, +	}) + +	use({ +		"lukas-reineke/indent-blankline.nvim", +		event = "BufRead", +		setup = function() +			vim.g.indentLine_enabled = 1 +			vim.g.indent_blankline_char = "▏" + +			vim.g.indent_blankline_filetype_exclude = { +				"help", +				"terminal", +				"dashboard", +			} +			vim.g.indent_blankline_buftype_exclude = { "terminal" } + +			vim.g.indent_blankline_show_trailing_blankline_indent = false +			vim.g.indent_blankline_show_first_indent_level = true +		end, +		disable = not O.plugin.indent_line.active, +	}) + +	-- comments in context +	use({ +		"JoosepAlviste/nvim-ts-context-commentstring", +		event = "BufRead", +		disable = not O.plugin.ts_context_commentstring.active, +	}) + +	-- Symbol Outline +	use({ +		"simrat39/symbols-outline.nvim", +		cmd = "SymbolsOutline", +		disable = not O.plugin.symbol_outline.active, +	}) +	-- diagnostics +	use({ +		"folke/trouble.nvim", +		cmd = "TroubleToggle", +		disable = not O.plugin.trouble.active, +	}) + +	-- Debugging +	use({ +		"mfussenegger/nvim-dap", +		config = function() +			local status_ok, dap = pcall(require, "dap") +			if not status_ok then +				return +			end +			-- require "dap" +			vim.fn.sign_define("DapBreakpoint", { +				text = "", +				texthl = "LspDiagnosticsSignError", +				linehl = "", +				numhl = "", +			}) +			dap.defaults.fallback.terminal_win_cmd = "50vsplit new" +		end, +		disable = not O.plugin.debug.active, +	}) + +	-- Floating terminal +	use({ +		"numToStr/FTerm.nvim", +		event = "BufWinEnter", +		config = function() +			require("lv-floatterm").config() +		end, +		disable = not O.plugin.floatterm.active, +	}) + +	-- Use fzy for telescope +	use({ +		"nvim-telescope/telescope-fzy-native.nvim", +		event = "BufRead", +		disable = not O.plugin.telescope_fzy.active, +	}) + +	-- Use project for telescope +	use({ +		"nvim-telescope/telescope-project.nvim", +		event = "BufRead", +		setup = function() +			vim.cmd([[packadd telescope.nvim]]) +		end, +		disable = not O.plugin.telescope_project.active, +	}) + +	-- Sane gx for netrw_gx bug +	use({ +		"felipec/vim-sanegx", +		event = "BufRead", +		disable = not O.plugin.sanegx.active, +	}) + +	-- Diffview +	use({ +		"sindrets/diffview.nvim", +		event = "BufRead", +		disable = not O.plugin.diffview.active, +	}) + +	-- Lush Create Color Schemes +	use({ +		"rktjmp/lush.nvim", +		-- cmd = {"LushRunQuickstart", "LushRunTutorial", "Lushify"}, +		disable = not O.plugin.lush.active, +	}) + +	-- Debugger management +	use({ +		"Pocco81/DAPInstall.nvim", +		-- event = "BufRead", +		disable = not O.plugin.dap_install.active, +	}) + +	-- LANGUAGE SPECIFIC GOES HERE +	use({ +		"lervag/vimtex", +		ft = "tex", +		config = function() +			require("lv-vimtex") +		end, +	}) + +	-- Rust tools +	-- TODO: use lazy loading maybe? +	use({ +		"simrat39/rust-tools.nvim", +		disable = not O.lang.rust.rust_tools.active, +	}) + +	-- Elixir +	use({ "elixir-editors/vim-elixir", ft = { "elixir", "eelixir", "euphoria3" } }) + +	-- Javascript / Typescript +	use({ +		"jose-elias-alvarez/nvim-lsp-ts-utils", +		ft = { +			"javascript", +			"javascriptreact", +			"javascript.jsx", +			"typescript", +			"typescriptreact", +			"typescript.tsx", +		}, +	}) +	-- use { +	--   "jose-elias-alvarez/null-ls.nvim", +	--   ft = { +	--     "javascript", +	--     "javascriptreact", +	--     "javascript.jsx", +	--     "typescript", +	--     "typescriptreact", +	--     "typescript.tsx", +	--   }, +	--   config = function() +	--     require("null-ls").setup() +	--   end, +	-- } + +	-- Pretty parentheses +	use({ +		"p00f/nvim-ts-rainbow", +		disable = not O.plugin.ts_rainbow.active, +	}) + +	-- Autotags <div>|</div> +	use({ +		"windwp/nvim-ts-autotag", +		event = "InsertEnter", +		disable = not O.plugin.ts_autotag.active, +	}) + +	-- Custom semantic text objects +	use({ +		"nvim-treesitter/nvim-treesitter-textobjects", +		disable = not O.plugin.ts_textobjects.active, +	}) + +	-- Smart text objects +	use({ +		"RRethy/nvim-treesitter-textsubjects", +		disable = not O.plugin.ts_textsubjects.active, +	}) + +	-- Text objects using hint labels +	use({ +		"mfussenegger/nvim-ts-hint-textobject", +		event = "BufRead", +		disable = not O.plugin.ts_hintobjects.active, +	}) + +	for _, plugin in pairs(O.user_plugins) do +		packer.use(plugin) +	end  end) | 
