summaryrefslogtreecommitdiffstats
path: root/.config/nvim/lua/user/plugins.lua
blob: 57fcef11c8e323d3d3f3638f31436e43ee7ed342 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
-- this file contains plugin settings as well as initialization of lazy.nvim

-- plugins to be installed
plugins = {
	{ "folke/lazy.nvim" },				-- plugin manager

	{ "nvim-lua/popup.nvim" },			-- some functions for other plugins
	{ "nvim-lua/plenary.nvim" },			-- some functions for other plugins
	{ "folke/which-key.nvim" },			-- pretty self-descriptive name

	{ "rafi/awesome-vim-colorschemes" },		-- colorschemes
	{ "lunarvim/colorschemes" },			-- colorschemes
	{ "folke/tokyonight.nvim" },			-- colorschemes


	{ "tpope/vim-commentary" },			-- gc & gcc for commenting
	{ "preservim/nerdtree" },			-- file explorer
	{ 
		"windwp/nvim-autopairs",
		event = { "InsertEnter" },		-- automatically pair brackets and quotes

	},
	{ 
		"tpope/vim-surround",			-- replace quotes e.t.c
		event = { "InsertEnter" },
	},


	{ 
		"nvim-treesitter/nvim-treesitter",	-- folding code, advanced syntax highlighting & sitting on a tree
		event = { "InsertEnter" },
	},
	{ 
		"neovim/nvim-lspconfig",		-- LSP configuration
		event = { "InsertEnter" },
	},
	

	-- { "hrsh7th/vim-vsnip" },			-- snippet engine
	{
		"L3MON4D3/LuaSnip",			-- better snippet engine
		event = { "InsertEnter" },
	},
	{
		"saadparwaiz1/cmp_luasnip", 		-- for luasnip
		event = { "InsertEnter" },
	},
	{
		"rafamadriz/friendly-snippets", 		-- predefined snippets
		event = { "InsertEnter" },
	},


	-- Autocompletion framework
	{ 
		"hrsh7th/nvim-cmp", 			-- the framework
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-nvim-lua", 		-- lua config
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-nvim-lsp-signature-help",	-- ?????????? a monsterature-help" 
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-nvim-lsp",			-- LSP completion
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-path",			-- /mnt/D/media/audio_sync/term_download_mp3/HELLO_I_AM_EMU_OTORI.mp3
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-buffer",			-- current buffer
		event = { "InsertEnter" },
	},
	{
		"hrsh7th/cmp-cmdline",			-- command line tools
		event = { "InsertEnter" },
	},
	{ 	
		"Saecki/crates.nvim",			-- rust packages from crates.io
		event = { "BufRead Cargo.toml" },
		setup = function()
			require('crates').setup()
		end,
	},

	--{ "lvimuser/lsp-inlayhints.nvim" }		-- saved for the better times

}

-- options for lazy
opts = {

}


-- some lazy.nvim magic
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)

-- initialization
lazy = require("lazy")
lazy.setup(plugins, opts)
-- lazy.load('nerdtree')