Skip to content

Commit 8b86785

Browse files
committed
create new config file for "packer.nvim" plugin
"packer.nvim" has now its own config file. lua/plugins/packer_nvim.lua
1 parent 89457e1 commit 8b86785

File tree

2 files changed

+318
-306
lines changed

2 files changed

+318
-306
lines changed

init.lua

Lines changed: 16 additions & 306 deletions
Original file line numberDiff line numberDiff line change
@@ -10,329 +10,39 @@
1010

1111

1212

13-
-- ━━━━━━━━━━━━━━━━❰ Leader Mapping ❱━━━━━━━━━━━━━━━ --
13+
-- ───────────────────────────────────────────────── --
14+
-- ────────────────❰ Leader Mapping ❱─────────────── --
1415
-- mapping leader here. it will work for every mapped
1516

1617
vim.g.mapleader = ';'
1718
vim.g.maplocalleader = '|'
18-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
19+
-- ───────────────────────────────────────────────── --
20+
21+
1922

2023

2124
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
2225
-- ━━━━━━━━━━━━━❰ Load/Source Configs ❱━━━━━━━━━━━━━ --
26+
2327
-- plugin config to improve start-up time.
2428
-- it should be always on top on init.lua file
2529
require('plugins/impatient_nvim') -- impatient needs to be setup before any other lua plugin is loaded so it is recommended you add the following near the start of your
2630
require('plugins/filetype_nvim') -- Easily speed up your neovim startup time!
2731

28-
require('configs')
29-
require('mappings')
30-
31-
-- require('customs/roshniline')
32-
33-
-- always put this config(override_defalut) at last because it's use to overide the any already defined config
34-
require('customs/override_defalut')
35-
-- load/source ".__nvim__" configs that are defined in working environment/project
36-
require('customs/project_env')
37-
38-
-- ━━━━━━━━━━━━━━━━━❰ end of Load ❱━━━━━━━━━━━━━━━━━ --
39-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
40-
41-
42-
43-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
44-
-- ━━━━━━━━━━━━━━━━❰ Plugin Manager ❱━━━━━━━━━━━━━━━ --
45-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
46-
-- NOTE:1
47-
-- If you want to automatically ensure that packer.nvim is installed on any machine you clone your configuration to,
48-
-- add the following snippet (which is due to @Iron-E) somewhere in your config before your first usage of packer:
49-
local execute = vim.api.nvim_command
50-
local fn = vim.fn
51-
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
52-
if fn.empty(fn.glob(install_path)) > 0 then
53-
fn.system({
54-
'git', 'clone', 'https://github.com/wbthomason/packer.nvim', install_path
55-
})
56-
execute 'packadd packer.nvim'
57-
end
58-
59-
-- don't throw any error on first use by packer
60-
local ok, packer = pcall(require, "packer")
61-
if not ok then return end
62-
63-
64-
65-
return packer.startup {
66-
function()
67-
-- Packer can manage itself
68-
use 'wbthomason/packer.nvim'
69-
70-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
71-
-- ━━━━━━━━━━━━━━❰ currently Using ❱━━━━━━━━━━━━━━━━ --
72-
73-
-- Improve Start-UP time
74-
use { -- Speed up loading Lua modules in Neovim to improve startup time.
75-
'lewis6991/impatient.nvim'
76-
}
77-
78-
use { -- Easily speed up your neovim startup time!. A faster version of filetype.vim
79-
'nathom/filetype.nvim'
80-
}
81-
82-
use { -- colorscheme for (neo)vim written in lua specially made for roshnivim
83-
'shaeinst/roshnivim-cs'
84-
}
85-
86-
use { -- A collection of common configurations for Neovim's built-in language server client
87-
'neovim/nvim-lspconfig',
88-
config = [[ require('plugins/nvim-lspconfig') ]]
89-
}
90-
91-
use { -- Companion plugin for nvim-lspconfig that allows you to seamlessly install LSP servers locally (inside :echo stdpath("data")).
92-
'williamboman/nvim-lsp-installer',
93-
config = [[ require('plugins/nvim-lsp-installer') ]]
94-
}
95-
96-
use { -- vscode-like pictograms for neovim lsp completion items Topics
97-
'onsails/lspkind-nvim',
98-
config = [[ require('plugins/lspkind-nvim') ]]
99-
}
100-
101-
use { -- Nvim Treesitter configurations and abstraction layer
102-
'nvim-treesitter/nvim-treesitter',
103-
'nvim-treesitter/playground', -- Treesitter playground integrated into Neovim
104-
run = ':TSUpdate',
105-
config = [[ require('plugins/nvim-treesitter') ]]
106-
}
107-
108-
use { -- A completion plugin for neovim coded in Lua.
109-
'hrsh7th/nvim-cmp',
110-
requires = {
111-
"hrsh7th/cmp-nvim-lsp", -- nvim-cmp source for neovim builtin LSP client
112-
"hrsh7th/cmp-nvim-lua", -- nvim-cmp source for nvim lua
113-
"hrsh7th/cmp-buffer", -- nvim-cmp source for buffer words.
114-
"hrsh7th/cmp-path", -- nvim-cmp source for filesystem paths.
115-
"hrsh7th/cmp-calc", -- nvim-cmp source for math calculation.
116-
"saadparwaiz1/cmp_luasnip" -- luasnip completion source for nvim-cmp
117-
},
118-
config = [[ require('plugins/nvim-cmp') ]]
119-
}
120-
121-
use { -- Snippet Engine for Neovim written in Lua.
122-
'L3MON4D3/LuaSnip',
123-
requires = {
124-
"rafamadriz/friendly-snippets" -- Snippets collection for a set of different programming languages for faster development.
125-
},
126-
config = [[ require('plugins/LuaSnip') ]]
127-
}
128-
129-
use { -- Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
130-
'jose-elias-alvarez/null-ls.nvim',
131-
config = [[ require('plugins/null-ls_nvim') ]]
132-
}
133-
134-
use { -- A super powerful autopairs for Neovim. It support multiple character.
135-
'windwp/nvim-autopairs',
136-
config = [[ require('plugins/nvim-autopairs') ]]
137-
}
138-
139-
use { -- Find, Filter, Preview, Pick. All lua, all the time.
140-
'nvim-telescope/telescope.nvim',
141-
requires = {
142-
{'nvim-lua/popup.nvim'},
143-
{'nvim-lua/plenary.nvim'},
144-
{'nvim-telescope/telescope-fzf-native.nvim', run = 'make'} -- FZF sorter for telescope written in c
145-
},
146-
config = [[ require('plugins/telescope_nvim') ]]
147-
}
148-
149-
use { -- Use (neo)vim terminal in the floating/popup window.
150-
'voldikss/vim-floaterm',
151-
config = [[ require('plugins/vim-floaterm') ]]
152-
}
153-
154-
use { -- lua `fork` of vim-web-devicons for neovim
155-
'kyazdani42/nvim-web-devicons',
156-
config = [[ require('plugins/nvim-web-devicons') ]]
157-
}
32+
require('configs') -- plugin independent configs
33+
require('mappings') -- plugin independent mappings
15834

159-
use { -- Maximizes and restores the current window in Vim
160-
'szw/vim-maximizer',
161-
config = [[ require('plugins/vim-maximizer') ]]
162-
}
35+
require('customs/override_defalut') -- always put this config(override_defalut) at last because it's use to overide the any already defined config
36+
require('customs/project_env') -- load/source ".__nvim__" configs that are defined in working environment/project
16337

164-
use { -- Smart and powerful comment plugin for neovim. Supports commentstring, dot repeat, left-right/up-down motions, hooks, and more
165-
'numToStr/Comment.nvim',
166-
config = [[ require('plugins/Comment_nvim') ]]
167-
}
16838

169-
use { -- A surround text object plugin for neovim written in lua.
170-
'blackcauldron7/surround.nvim',
171-
config = [[ require('plugins/surround_nvim') ]]
172-
}
39+
-- load/source PLUGINS CONFIGS
40+
-- loading plugins and its configs are managed in seperate config file
41+
-- ~/.config/nvim/lua/plugins/packer_nvim.lua
42+
-- NOTE: laways load plugins at last
43+
require('plugins/packer_nvim')
17344

174-
use { -- The fastest Neovim colorizer.
175-
'norcalli/nvim-colorizer.lua',
176-
config = [[ require('plugins/nvim-colorizer_lua') ]]
177-
}
17845

179-
use {
180-
'lukas-reineke/indent-blankline.nvim',
181-
config = [[ require('plugins/indent-blankline_nvim') ]]
182-
}
183-
184-
use { -- to change current working directory to project's root directory.
185-
'ygm2/rooter.nvim',
186-
config = [[ require('plugins/rooter_nvim') ]]
187-
}
188-
189-
use { -- Git signs written in pure lua
190-
'lewis6991/gitsigns.nvim',
191-
requires = {'nvim-lua/plenary.nvim'},
192-
config = [[ require('plugins/gitsigns_nvim') ]]
193-
}
194-
195-
use { -- A pretty diagnostics, references, telescope results, quickfix and location list to help you solve all the trouble your code is causing.
196-
'folke/trouble.nvim',
197-
config = [[ require('plugins/trouble_nvim') ]]
198-
}
199-
200-
use { -- A snazzy bufferline for Neovim
201-
'akinsho/nvim-bufferline.lua',
202-
requires = 'kyazdani42/nvim-web-devicons',
203-
config = [[ require('plugins/nvim-bufferline_lua') ]]
204-
}
205-
206-
use { -- A File Explorer For Neovim Written In Lua
207-
'kyazdani42/nvim-tree.lua',
208-
config = [[ require('plugins/nvim-tree_lua') ]]
209-
}
210-
211-
use { -- A minimal, stylish and customizable statusline for Neovim written in Lua
212-
'Famiu/feline.nvim',
213-
-- requires = {
214-
-- 'nvim-lua/lsp-status.nvim',
215-
-- },
216-
config = [[ require('plugins/feline_nvim') ]]
217-
}
218-
219-
use { -- No-nonsense floating terminal plugin for neovim
220-
"numtostr/FTerm.nvim",
221-
config = [[ require('plugins/fterm_nvim') ]]
222-
}
223-
224-
use { -- fast and highly customizable greeter for neovim.
225-
"goolord/alpha-nvim",
226-
requires = {'kyazdani42/nvim-web-devicons'},
227-
config = [[ require('plugins/alpha-nvim') ]]
228-
}
229-
230-
-- ━━━━━━━━━━━━━━━━━❰ DEVELOPMENT ❱━━━━━━━━━━━━━━━━━ --
231-
232-
---- for flutter/dart
233-
use { -- Tools to help create flutter apps in neovim using the native lsp
234-
'akinsho/flutter-tools.nvim',
235-
ft = {'dart'},
236-
requires = {
237-
{'nvim-lua/plenary.nvim'},
238-
{'Neevash/awesome-flutter-snippets'}, -- collection snippets and shortcuts for commonly used Flutter functions and classes
239-
{
240-
'dart-lang/dart-vim-plugin', -- Syntax highlighting for Dart in Vim
241-
config = [[ require('plugins/dart-vim-plugin') ]]
242-
}
243-
},
244-
config = [[ require('plugins/flutter-tools_nvim') ]]
245-
}
246-
247-
-- for Web-Development
248-
use { -- Use treesitter to auto close and auto rename html tag, work with html,tsx,vue,svelte,php.
249-
"windwp/nvim-ts-autotag",
250-
ft = {'html', 'tsx', 'vue', 'svelte', 'php'},
251-
requires = {'nvim-treesitter/nvim-treesitter'},
252-
config = [[ require('plugins/nvim-ts-autotag') ]]
253-
}
254-
-- ━━━━━━━━━━━━━━❰ end of DEVELOPMENT ❱━━━━━━━━━━━━━ --
255-
256-
257-
-- ━━━━━━━━━━━━❰ end currently Using ❱━━━━━━━━━━━━━━ --
258-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
259-
260-
261-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
262-
-- ━━━━━━━━━━━━❰ Not currently Using ❱━━━━━━━━━━━━━━ --
263-
264-
--[=======[
265-
266-
use { -- A light-weight lsp plugin based on neovim built-in lsp with highly a performant UI.
267-
'glepnir/lspsaga.nvim',
268-
config = [[ require('plugins/lspsaga') ]]
269-
}
270-
271-
use { -- A neovim tabline plugin.
272-
'romgrk/barbar.nvim',
273-
config = [[ require('plugins/barbar_nvim') ]]
274-
}
275-
276-
use {
277-
'hoob3rt/lualine.nvim',
278-
requires = {'kyazdani42/nvim-web-devicons', opt = true},
279-
config = [[ require('plugins/lualine') ]]
280-
}
281-
282-
use { --neovim statusline plugin written in lua
283-
'glepnir/galaxyline.nvim',
284-
config = [[ require('plugins/galaxyline_nvim') ]]
285-
}
286-
287-
use { -- Neovim commenting plugin, written in lua.
288-
'b3nj5m1n/kommentary',
289-
config = [[ require('plugins/kommentary') ]]
290-
}
291-
292-
use { -- Github theme for Neovim, kitty, iTerm, Konsole, and Alacritty written in Lua
293-
"projekt0n/github-nvim-theme",
294-
config = [[ require('plugins/github-nvim-theme') ]]
295-
}
296-
297-
use {
298-
'lukas-reineke/indent-blankline.nvim',
299-
config = [[ require('plugins/indent_blankline') ]]
300-
}
301-
302-
use { -- Utility functions for getting diagnostic status and progress messages from LSP servers, for use in the Neovim statusline
303-
'nvim-lua/lsp-status.nvim',
304-
config = [[ require('plugins/lspstatus') ]]
305-
}
306-
307-
use { -- A vim plugin to display the indention levels with thin vertical lines
308-
'Yggdroot/indentLine',
309-
config = [[ require('plugins/indentLine') ]]
310-
}
311-
312-
use { -- A format runner for neovim, written in lua.
313-
"mhartington/formatter.nvim",
314-
config = [[ require('plugins/formatter') ]]
315-
}
316-
--]=======]
317-
318-
-- ━━━━━━━━━━━━━━━❰ end Not Using ❱━━━━━━━━━━━━━━━━━ --
319-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
320-
end,
321-
322-
323-
config = {
324-
-- Move to lua dir so impatient.nvim can cache it
325-
compile_path = vim.fn.stdpath('config') .. '/plugin/packer_compiled.lua',
326-
327-
display = {
328-
open_fn = function()
329-
return require('packer.util').float({border = 'single'})
330-
end
331-
}
332-
}
333-
}
334-
335-
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
336-
-- ━━━━━━━━━━━━❰ end of Plugin Manager ❱━━━━━━━━━━━━ --
46+
-- ━━━━━━━━━━━━━━━━━❰ end of Load ❱━━━━━━━━━━━━━━━━━ --
33747
-- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --
33848

0 commit comments

Comments
 (0)