|
@@ -1,361 +1,361 @@
|
|
local execute = vim.api.nvim_command
|
|
local execute = vim.api.nvim_command
|
|
local fn = vim.fn
|
|
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
|
|
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
|
|
end
|
|
|
|
|
|
local packer_ok, packer = pcall(require, "packer")
|
|
local packer_ok, packer = pcall(require, "packer")
|
|
if not packer_ok then
|
|
if not packer_ok then
|
|
- return
|
|
|
|
|
|
+ return
|
|
end
|
|
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)
|
|
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)
|
|
end)
|