diff options
author | Luca Matei Pintilie <lucafulger@gmail.com> | 2022-09-08 17:29:21 +0000 |
---|---|---|
committer | Luca Matei Pintilie <lucafulger@gmail.com> | 2022-09-08 17:29:21 +0000 |
commit | b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff (patch) | |
tree | 39576dcd545bb0a1c41c4af9bdf00d89ebb9198f /.config/nvim/lua/plugins.lua | |
parent | f13e82880cfcb566df62d9d3c787cc021273142e (diff) | |
download | dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar.gz dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar.bz2 dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar.lz dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar.xz dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.tar.zst dotfiles-b57d4cb883e8f016cfbc89c87e6594f0c2aef1ff.zip |
New neovim config
Diffstat (limited to '.config/nvim/lua/plugins.lua')
-rw-r--r-- | .config/nvim/lua/plugins.lua | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/.config/nvim/lua/plugins.lua b/.config/nvim/lua/plugins.lua new file mode 100644 index 0000000..e7e42db --- /dev/null +++ b/.config/nvim/lua/plugins.lua @@ -0,0 +1,169 @@ +local PKGS = { + -- Plugin manager + { url = "https://github.com/savq/paq-nvim.git" }; + + -- Common + { url = "https://github.com/kyazdani42/nvim-web-devicons.git" }; + + { url = "https://github.com/kyazdani42/nvim-tree.lua.git" }; + { url = "https://github.com/nvim-telescope/telescope.nvim.git" }; + { url = "https://github.com/nvim-lua/plenary.nvim.git" }; + { url = "https://github.com/kevinhwang91/nvim-ufo.git" }; + { url = "https://github.com/kevinhwang91/promise-async.git" }; + { url = "https://github.com/iamcco/markdown-preview.nvim.git" }; + { url = "https://github.com/filipdutescu/renamer.nvim.git" }; + { url = "https://github.com/folke/which-key.nvim.git" }; + + -- Status line + { url = "https://github.com/akinsho/bufferline.nvim.git" }; + { url = "https://github.com/nvim-lualine/lualine.nvim.git" }; + + -- Code colors + { url = "https://github.com/lukas-reineke/indent-blankline.nvim.git" }; + { url = "https://github.com/nvim-treesitter/nvim-treesitter.git" }; + { url = "https://github.com/norcalli/nvim-colorizer.lua.git" }; + { url = "https://github.com/mracos/mermaid.vim.git" }; + + -- Themes + { url = "https://github.com/dracula/vim.git" }; + { url = "https://github.com/folke/tokyonight.nvim.git" }; + { url = "https://github.com/Mofiqul/vscode.nvim.git" }; + { url = "https://github.com/marko-cerovac/material.nvim.git" }; + { url = "https://github.com/sainnhe/sonokai.git" }; + { url = "https://github.com/navarasu/onedark.nvim.git" }; + { url = "https://github.com/Mofiqul/adwaita.nvim.git" }; + + -- LCOV Coverage + { url = "https://github.com/google/vim-coverage.git" }; + { url = "https://github.com/google/vim-maktaba.git" }; + + { url = "https://github.com/editorconfig/editorconfig-vim.git" }; + { url = "https://github.com/nathom/filetype.nvim.git" }; + { url = "https://github.com/wfxr/minimap.vim.git" }; + + -- LSP + { url = "https://github.com/neovim/nvim-lspconfig.git" }; + { url = "https://github.com/hrsh7th/nvim-cmp.git" }; + { url = "https://github.com/hrsh7th/cmp-nvim-lsp.git" }; + { url = "https://github.com/hrsh7th/cmp-buffer.git" }; + { url = "https://github.com/hrsh7th/cmp-path.git" }; + { url = "https://github.com/hrsh7th/cmp-cmdline.git" }; + { url = "https://github.com/hrsh7th/cmp-vsnip.git" }; + { url = "https://github.com/hrsh7th/vim-vsnip.git" }; + { url = "https://github.com/onsails/lspkind.nvim.git" }; + { url = "https://github.com/folke/trouble.nvim.git" }; + { url = "https://github.com/folke/lsp-colors.nvim.git" }; + + -- Dev container + { url = "https://codeberg.org/esensar/nvim-dev-container.git" }; + + -- Games + { url = "https://github.com/alec-gibson/nvim-tetris.git" }; +} + +local function clone_paq() + local path = vim.fn.stdpath("data") .. "/site/pack/paqs/start/paq-nvim" + if vim.fn.empty(vim.fn.glob(path)) > 0 then + vim.fn.system { + "git"; + "clone"; + "--depth=1"; + "https://github.com/savq/paq-nvim.git"; + path; + } + return true + else + return false + end +end +local function bootstrap_paq() + clone_paq() + -- Load Paq + vim.cmd("packadd paq-nvim") + local paq = require("paq") + -- Read and install packages + paq(PKGS) + paq.install() +end + +local function init_plugins() + local paq = require("paq") + paq(PKGS) + + vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]] + vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]] + vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]] + vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]] + vim.cmd [[highlight IndentBlanklineIndent5 guifg=#61AFEF gui=nocombine]] + vim.cmd [[highlight IndentBlanklineIndent6 guifg=#C678DD gui=nocombine]] + + require("indent_blankline").setup { + char_highlight_list = { + "IndentBlanklineIndent1"; + "IndentBlanklineIndent2"; + "IndentBlanklineIndent3"; + "IndentBlanklineIndent4"; + "IndentBlanklineIndent5"; + "IndentBlanklineIndent6"; + }; + show_end_of_line = true; + space_char_blankline = " "; + show_current_context = true; + show_current_context_start = true; + } + + require("colorizer").setup({ "*" }) + vim.g.minimap_auto_start = 1 + vim.g.minimap_highlight_range = 1 + vim.g.minimap_highlight_search = 1 + + require("ufo").setup({ + provider_selector = function(bufnr, filetype, buftype) + return { "treesitter"; "indent" } + end; + }); + + vim.o.foldcolumn = "1" + vim.o.foldlevel = 99 -- Using ufo provider need a large value, feel free to decrease the value + vim.o.foldlevelstart = 99 + vim.o.foldenable = true + + require("devcontainer").setup({}) + require("renamer").setup({ + -- The popup title, shown if `border` is true + title = "Rename"; + -- The padding around the popup content + padding = { top = 0; left = 0; bottom = 0; right = 0 }; + -- The minimum width of the popup + min_width = 15; + -- The maximum width of the popup + max_width = 45; + -- Whether or not to shown a border around the popup + border = true; + -- The characters which make up the border + border_chars = { "─"; "│"; "─"; "│"; "╭"; "╮"; "╯"; "╰" }; + -- Whether or not to highlight the current word references through LSP + show_refs = true; + -- Whether or not to add resulting changes to the quickfix list + with_qf_list = true; + -- Whether or not to enter the new name through the UI or Neovim's `input` + -- prompt + with_popup = true; + -- Custom handler to be run after successfully renaming the word. Receives + -- the LSP 'textDocument/rename' raw response as its parameter. + handler = nil; + }) + + require("which-key").setup({ + -- your configuration comes here + -- or leave it empty to use the default settings + -- refer to the configuration section below + }) + +end + +return { + clone_paq = clone_paq; + bootstrap_paq = bootstrap_paq; + init_plugins = init_plugins; +} |