|
10 | 10 |
|
11 | 11 |
|
12 | 12 |
|
13 | | --- ━━━━━━━━━━━━━━━━❰ Leader Mapping ❱━━━━━━━━━━━━━━━ -- |
| 13 | +-- ───────────────────────────────────────────────── -- |
| 14 | +-- ────────────────❰ Leader Mapping ❱─────────────── -- |
14 | 15 | -- mapping leader here. it will work for every mapped |
15 | 16 |
|
16 | 17 | vim.g.mapleader = ';' |
17 | 18 | vim.g.maplocalleader = '|' |
18 | | --- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- |
| 19 | +-- ───────────────────────────────────────────────── -- |
| 20 | + |
| 21 | + |
19 | 22 |
|
20 | 23 |
|
21 | 24 | -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- |
22 | 25 | -- ━━━━━━━━━━━━━❰ Load/Source Configs ❱━━━━━━━━━━━━━ -- |
| 26 | + |
23 | 27 | -- plugin config to improve start-up time. |
24 | 28 | -- it should be always on top on init.lua file |
25 | 29 | 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 |
26 | 30 | require('plugins/filetype_nvim') -- Easily speed up your neovim startup time! |
27 | 31 |
|
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 |
158 | 34 |
|
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 |
163 | 37 |
|
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 | | - } |
168 | 38 |
|
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') |
173 | 44 |
|
174 | | - use { -- The fastest Neovim colorizer. |
175 | | - 'norcalli/nvim-colorizer.lua', |
176 | | - config = [[ require('plugins/nvim-colorizer_lua') ]] |
177 | | - } |
178 | 45 |
|
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 ❱━━━━━━━━━━━━━━━━━ -- |
337 | 47 | -- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ -- |
338 | 48 |
|
0 commit comments