aboutsummaryrefslogtreecommitdiff
path: root/.config/nvim/lua/plugins.lua
diff options
context:
space:
mode:
authorLuca Matei Pintilie <lucafulger@gmail.com>2022-09-08 17:29:21 +0000
committerLuca Matei Pintilie <lucafulger@gmail.com>2022-09-08 17:29:21 +0000
commitb57d4cb883e8f016cfbc89c87e6594f0c2aef1ff (patch)
tree39576dcd545bb0a1c41c4af9bdf00d89ebb9198f /.config/nvim/lua/plugins.lua
parentf13e82880cfcb566df62d9d3c787cc021273142e (diff)
downloaddotfiles-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.lua169
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;
+}