Skip to content

Commit d3241a3

Browse files
added plugins
1 parent e947649 commit d3241a3

File tree

1 file changed

+232
-6
lines changed

1 file changed

+232
-6
lines changed

init.lua

Lines changed: 232 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ vim.g.have_nerd_font = false
102102
vim.opt.number = true
103103
-- You can also add relative line numbers, to help with jumping.
104104
-- Experiment for yourself to see if you like it!
105-
-- vim.opt.relativenumber = true
105+
vim.opt.relativenumber = true
106106

107107
-- Enable mouse mode, can be useful for resizing splits for example!
108108
vim.opt.mouse = 'a'
@@ -290,6 +290,233 @@ require('lazy').setup({
290290
-- Then, because we use the `opts` key (recommended), the configuration runs
291291
-- after the plugin has been loaded as `require(MODULE).setup(opts)`.
292292

293+
{ -- Adds git related signs to the gutter, as well as utilities for managing changes
294+
'lewis6991/gitsigns.nvim',
295+
opts = {
296+
signs = {
297+
add = { text = '+' },
298+
change = { text = '~' },
299+
delete = { text = '_' },
300+
topdelete = { text = '' },
301+
changedelete = { text = '~' },
302+
},
303+
},
304+
},
305+
306+
-- themery
307+
{
308+
'zaldih/themery.nvim',
309+
lazy = false,
310+
config = function()
311+
require('themery').setup {
312+
themes = { 'visual_studio_code', 'retrobox' },
313+
livePreview = true,
314+
}
315+
end,
316+
},
317+
-- vscode theme
318+
{
319+
'askfiy/visual_studio_code',
320+
priority = 100,
321+
config = function()
322+
vim.cmd [[colorscheme visual_studio_code]]
323+
end,
324+
},
325+
326+
-- transparent windows
327+
{ 'xiyaowong/transparent.nvim' },
328+
329+
-- git-conflict
330+
{ 'akinsho/git-conflict.nvim', version = '*', config = true },
331+
332+
-- git blame
333+
{
334+
'f-person/git-blame.nvim',
335+
},
336+
337+
-- neogit
338+
{
339+
'NeogitOrg/neogit',
340+
dependencies = {
341+
'nvim-lua/plenary.nvim', -- required
342+
'sindrets/diffview.nvim', -- optional - Diff integration
343+
344+
-- Only one of these is needed.
345+
'nvim-telescope/telescope.nvim', -- optional
346+
-- 'ibhagwan/fzf-lua', -- optional
347+
-- 'echasnovski/mini.pick', -- optional
348+
},
349+
config = true,
350+
},
351+
352+
-- status line
353+
{
354+
'nvim-lualine/lualine.nvim',
355+
dependencies = { 'nvim-tree/nvim-web-devicons' },
356+
config = function()
357+
require('lualine').setup {
358+
options = {
359+
icons_enabled = true,
360+
theme = 'auto',
361+
component_separators = { left = '', right = '' },
362+
section_separators = { left = '', right = '' },
363+
disabled_filetypes = {
364+
statusline = {},
365+
winbar = {},
366+
},
367+
ignore_focus = {},
368+
always_divide_middle = true,
369+
always_show_tabline = true,
370+
globalstatus = false,
371+
refresh = {
372+
statusline = 100,
373+
tabline = 100,
374+
winbar = 100,
375+
},
376+
},
377+
sections = {
378+
lualine_a = { 'mode' },
379+
lualine_b = { 'branch', 'diff', 'diagnostics' },
380+
lualine_c = { 'filename' },
381+
lualine_x = { 'encoding', 'fileformat', 'filetype' },
382+
lualine_y = { 'progress' },
383+
lualine_z = { 'location' },
384+
},
385+
inactive_sections = {
386+
lualine_a = {},
387+
lualine_b = {},
388+
lualine_c = { 'filename' },
389+
lualine_x = { 'location' },
390+
lualine_y = {},
391+
lualine_z = {},
392+
},
393+
tabline = {},
394+
winbar = {},
395+
inactive_winbar = {},
396+
extensions = {},
397+
}
398+
end,
399+
},
400+
401+
-- indention markers
402+
{
403+
'kiyoon/treesitter-indent-object.nvim',
404+
keys = {
405+
{
406+
'ai',
407+
function()
408+
require('treesitter_indent_object.textobj').select_indent_outer()
409+
end,
410+
mode = { 'x', 'o' },
411+
desc = 'Select context-aware indent (outer)',
412+
},
413+
{
414+
'aI',
415+
function()
416+
require('treesitter_indent_object.textobj').select_indent_outer(true)
417+
end,
418+
mode = { 'x', 'o' },
419+
desc = 'Select context-aware indent (outer, line-wise)',
420+
},
421+
{
422+
'ii',
423+
function()
424+
require('treesitter_indent_object.textobj').select_indent_inner()
425+
end,
426+
mode = { 'x', 'o' },
427+
desc = 'Select context-aware indent (inner, partial range)',
428+
},
429+
{
430+
'iI',
431+
function()
432+
require('treesitter_indent_object.textobj').select_indent_inner(true, 'V')
433+
end,
434+
mode = { 'x', 'o' },
435+
desc = 'Select context-aware indent (inner, entire range) in line-wise visual mode',
436+
},
437+
},
438+
},
439+
440+
{
441+
'lukas-reineke/indent-blankline.nvim',
442+
tag = 'v2.20.8', -- Use v2
443+
event = 'BufReadPost',
444+
config = function()
445+
vim.opt.list = true
446+
require('indent_blankline').setup {
447+
space_char_blankline = ' ',
448+
show_current_context = true,
449+
show_current_context_start = true,
450+
}
451+
end,
452+
},
453+
-- dap
454+
{
455+
'mfussenegger/nvim-dap',
456+
dependencies = {
457+
'leoluz/nvim-dap-go',
458+
'rcarriga/nvim-dap-ui',
459+
'theHamsta/nvim-dap-virtual-text',
460+
'nvim-neotest/nvim-nio',
461+
'williamboman/mason.nvim',
462+
},
463+
config = function()
464+
local dap = require 'dap'
465+
local ui = require 'dapui'
466+
467+
require('dapui').setup()
468+
require('dap-go').setup()
469+
470+
dap.adapters.codelldb = {
471+
type = 'server',
472+
port = '${port}',
473+
executable = {
474+
command = 'codelldb',
475+
args = { '--port', '${port}' },
476+
},
477+
}
478+
479+
dap.configurations.zig = {
480+
{
481+
type = 'codelldb',
482+
name = 'Launch',
483+
request = 'launch',
484+
program = '${workspaceFolder}/zig-out/bin/${workspaceFolderBasename}',
485+
cwd = '${workspaceFolder}',
486+
stopOnEntry = false,
487+
args = {},
488+
},
489+
}
490+
491+
vim.keymap.set('n', '<space>b', dap.toggle_breakpoint)
492+
vim.keymap.set('n', '<space>gb', dap.run_to_cursor)
493+
494+
-- Eval var under cursor
495+
vim.keymap.set('n', '<space>?', function()
496+
require('dapui').eval(nil, { enter = true })
497+
end)
498+
vim.keymap.set('n', '<F1>', dap.continue)
499+
vim.keymap.set('n', '<F2>', dap.step_into)
500+
vim.keymap.set('n', '<F3>', dap.step_over)
501+
vim.keymap.set('n', '<F4>', dap.step_out)
502+
vim.keymap.set('n', '<F5>', dap.step_back)
503+
vim.keymap.set('n', '<F12>', dap.restart)
504+
505+
dap.listeners.before.attach.dapui_config = function()
506+
ui.open()
507+
end
508+
dap.listeners.before.launch.dapui_config = function()
509+
ui.open()
510+
end
511+
dap.listeners.before.event_terminated.dapui_config = function()
512+
ui.close()
513+
end
514+
dap.listeners.before.event_exited.dapui_config = function()
515+
ui.close()
516+
end
517+
end,
518+
},
519+
293520
{ -- Useful plugin to show you pending keybinds.
294521
'folke/which-key.nvim',
295522
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
@@ -990,12 +1217,11 @@ require('lazy').setup({
9901217
-- Here are some example plugins that I've included in the Kickstart repository.
9911218
-- Uncomment any of the lines below to enable them (you will need to restart nvim).
9921219
--
993-
-- require 'kickstart.plugins.debug',
994-
-- require 'kickstart.plugins.indent_line',
995-
-- require 'kickstart.plugins.lint',
996-
-- require 'kickstart.plugins.autopairs',
1220+
require 'kickstart.plugins.debug',
1221+
require 'kickstart.plugins.indent_line',
1222+
require 'kickstart.plugins.lint',
1223+
require 'kickstart.plugins.autopairs',
9971224
-- require 'kickstart.plugins.neo-tree',
998-
-- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps
9991225

10001226
-- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua`
10011227
-- This is the easiest way to modularize your config.

0 commit comments

Comments
 (0)