4ff50f6a2573aa20c7b12c4a30d801be5f2d5955

Author
Pavle Portic <git@theedgeofrage.com>
Committer
Pavle Portic <git@theedgeofrage.com>
Date

Message

Update nvim config

Diff

This diff is truncated to protect this page.

  1diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua
  2index 8b7fd1093ab6a98677b12570431b0848402f7b71..f7c265a4c03220716792d105be35d30227cb23c6 100644
  3--- a/dot_config/nvim/init.lua
  4+++ b/dot_config/nvim/init.lua
  5@@ -1,17 +1,16 @@
  6 vim.g.mapleader = " "
  7 
  8--- Lazy.nvim
  9 local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
 10 
 11 if not vim.loop.fs_stat(lazypath) then
 12-vim.fn.system({
 13-        "git",
 14-        "clone",
 15-        "--filter=blob:none",
 16-        "https://github.com/folke/lazy.nvim.git",
 17-        "--branch=stable",
 18-        lazypath,
 19-    })
 20+	vim.fn.system({
 21+		"git",
 22+		"clone",
 23+		"--filter=blob:none",
 24+		"https://github.com/folke/lazy.nvim.git",
 25+		"--branch=stable",
 26+		lazypath,
 27+	})
 28 end
 29 
 30 vim.opt.rtp:prepend(lazypath)
 31@@ -19,21 +18,20 @@ vim.opt.rtp:prepend(lazypath)
 32 require("sets")
 33 
 34 require("lazy").setup("plugins", {
 35-    change_detection = {
 36-        enabled = true,
 37-        notify = false,
 38-    },
 39+	change_detection = {
 40+		enabled = true,
 41+		notify = false,
 42+	},
 43 })
 44 
 45 vim.cmd([[colorscheme gruvbox]])
 46 
 47--- Import additional config files
 48 require("sets")
 49 require("mappings")
 50 require("git")
 51 require("lsp")
 52 require("line")
 53 
 54-require('telescope').load_extension('projects')
 55-require('telescope').load_extension('fzf')
 56-require('project_nvim').setup({})
 57+require("telescope").load_extension("projects")
 58+require("telescope").load_extension("fzf")
 59+require("project_nvim").setup({})
 60diff --git a/dot_config/nvim/lua/autocmd.lua b/dot_config/nvim/lua/autocmd.lua
 61index 2943964876b94a8f2fce2c4aebe9bbad6cbf334f..a982b3d95db97a584a95ceeeb0079711d6b9d9c1 100644
 62--- a/dot_config/nvim/lua/autocmd.lua
 63+++ b/dot_config/nvim/lua/autocmd.lua
 64@@ -1,4 +1,4 @@
 65-vim.api.nvim_create_autocmd({"FocusGained"}, {
 66-  pattern = {"*"},
 67-  command = "checktime",
 68+vim.api.nvim_create_autocmd({ "FocusGained" }, {
 69+	pattern = { "*" },
 70+	command = "checktime",
 71 })
 72diff --git a/dot_config/nvim/lua/git.lua b/dot_config/nvim/lua/git.lua
 73index af6794fcaff9235094807e272f58baa2c312d8c0..71306bd9a6175a3f6dbdb41cdeb4affdef0f5bad 100644
 74--- a/dot_config/nvim/lua/git.lua
 75+++ b/dot_config/nvim/lua/git.lua
 76@@ -1,68 +1,76 @@
 77-require('gitsigns').setup{
 78-    signs = {
 79-        add          = { text = '+' },
 80-        change       = { text = '~' },
 81-        delete       = { text = '_' },
 82-        topdelete    = { text = '‾' },
 83-        changedelete = { text = '~' },
 84-        untracked    = { text = '┆' },
 85-    },
 86-    signcolumn = true,  -- :Gitsigns toggle_signs
 87-    numhl      = false, -- :Gitsigns toggle_numhl
 88-    linehl     = false, -- :Gitsigns toggle_linehl
 89-    word_diff  = false, -- :Gitsigns toggle_word_diff
 90-    watch_gitdir = {
 91-        follow_files = true
 92-    },
 93-    attach_to_untracked = true,
 94-    current_line_blame = true,
 95-    current_line_blame_opts = {
 96-        virt_text = true,
 97-        virt_text_pos = 'right_align', -- 'eol' | 'overlay' | 'right_align'
 98-        delay = 100,
 99-        ignore_whitespace = false,
100-    },
101-    current_line_blame_formatter = '<abbrev_sha> - <author> <author_time:%Y-%m-%d>',
102-    sign_priority = 6,
103-    update_debounce = 100,
104-    status_formatter = nil, -- Use default
105-    max_file_length = 40000, -- Disable if file is longer than this (in lines)
106-    preview_config = {
107-        -- Options passed to nvim_open_win
108-        border = 'single',
109-        style = 'minimal',
110-        relative = 'cursor',
111-        row = 0,
112-        col = 1
113-    },
114-    on_attach = function(bufnr)
115-        local gs = package.loaded.gitsigns
116+require("gitsigns").setup({
117+	signs = {
118+		add = { text = "+" },
119+		change = { text = "~" },
120+		delete = { text = "_" },
121+		topdelete = { text = "‾" },
122+		changedelete = { text = "~" },
123+		untracked = { text = "┆" },
124+	},
125+	signcolumn = true, -- :Gitsigns toggle_signs
126+	numhl = false, -- :Gitsigns toggle_numhl
127+	linehl = false, -- :Gitsigns toggle_linehl
128+	word_diff = false, -- :Gitsigns toggle_word_diff
129+	watch_gitdir = {
130+		follow_files = true,
131+	},
132+	attach_to_untracked = true,
133+	current_line_blame = true,
134+	current_line_blame_opts = {
135+		virt_text = true,
136+		virt_text_pos = "right_align", -- 'eol' | 'overlay' | 'right_align'
137+		delay = 100,
138+		ignore_whitespace = false,
139+	},
140+	current_line_blame_formatter = "<abbrev_sha> - <author> <author_time:%Y-%m-%d>",
141+	sign_priority = 6,
142+	update_debounce = 100,
143+	status_formatter = nil, -- Use default
144+	max_file_length = 40000, -- Disable if file is longer than this (in lines)
145+	preview_config = {
146+		-- Options passed to nvim_open_win
147+		border = "single",
148+		style = "minimal",
149+		relative = "cursor",
150+		row = 0,
151+		col = 1,
152+	},
153+	on_attach = function(bufnr)
154+		local gs = package.loaded.gitsigns
155 
156-        local function map(mode, l, r, opts)
157-            opts = opts or {}
158-            opts.buffer = bufnr
159-            vim.keymap.set(mode, l, r, opts)
160-        end
161+		local function map(mode, l, r, opts)
162+			opts = opts or {}
163+			opts.buffer = bufnr
164+			vim.keymap.set(mode, l, r, opts)
165+		end
166 
167-        -- Navigation
168-        map('n', ']c', function()
169-            if vim.wo.diff then return ']c' end
170-            vim.schedule(function() gs.next_hunk() end)
171-            return '<Ignore>'
172-        end, {expr=true})
173+		-- Navigation
174+		map("n", "]c", function()
175+			if vim.wo.diff then
176diff --git a/dot_config/nvim/lua/line.lua b/dot_config/nvim/lua/line.lua
177index 4905c59d739f3049cfc70b32e7078d91799b6e3c..ecb8ee106d03be8cc82a7dbe8bba5ac7b1ee289c 100644
178--- a/dot_config/nvim/lua/line.lua
179+++ b/dot_config/nvim/lua/line.lua
180@@ -1,106 +1,105 @@
181 require("lualine").setup({
182-    options = {
183-        icons_enabled = true,
184-        theme = 'gruvbox',
185-        component_separators = { left = '', right = ''},
186-        section_separators = { left = '', right = ''},
187-        disabled_filetypes = {
188-            statusline = {},
189-            winbar = {},
190-        },
191-        ignore_focus = {},
192-        always_divide_middle = true,
193-        globalstatus = false,
194-        refresh = {
195-            statusline = 1000,
196-            tabline = 1000,
197-            winbar = 1000,
198-        },
199-        show_filename_only = false,
200-    },
201-    sections = {
202-        lualine_a = {'mode'},
203-        lualine_b = {'branch', 'diff', 'diagnostics'},
204-        lualine_c = {
205-            {
206-                'filename',
207-                file_status = true,      -- Displays file status (readonly status, modified status)
208-                newfile_status = false,  -- Display new file status (new file means no write after created)
209-                path = 1,                -- 0: Just the filename
210-                -- 1: Relative path
211-                -- 2: Absolute path
212-                -- 3: Absolute path, with tilde as the home directory
213-                -- 4: Filename and parent dir, with tilde as the home directory
214+	options = {
215+		icons_enabled = true,
216+		theme = "gruvbox",
217+		component_separators = { left = "", right = "" },
218+		section_separators = { left = "", right = "" },
219+		disabled_filetypes = {
220+			statusline = {},
221+			winbar = {},
222+		},
223+		ignore_focus = {},
224+		always_divide_middle = true,
225+		globalstatus = false,
226+		refresh = {
227+			statusline = 1000,
228+			tabline = 1000,
229+			winbar = 1000,
230+		},
231+		show_filename_only = false,
232+	},
233+	sections = {
234+		lualine_a = { "mode" },
235+		lualine_b = { "branch", "diff", "diagnostics" },
236+		lualine_c = {
237+			{
238+				"filename",
239+				file_status = true, -- Displays file status (readonly status, modified status)
240+				newfile_status = false, -- Display new file status (new file means no write after created)
241+				path = 1, -- 0: Just the filename
242+				-- 1: Relative path
243+				-- 2: Absolute path
244+				-- 3: Absolute path, with tilde as the home directory
245+				-- 4: Filename and parent dir, with tilde as the home directory
246 
247-                shorting_target = 40,    -- Shortens path to leave 40 spaces in the window
248-                -- for other components. (terrible name, any suggestions?)
249-                symbols = {
250-                    modified = '[+]',      -- Text to show when the file is modified.
251-                    readonly = '[-]',      -- Text to show when the file is non-modifiable or readonly.
252-                    unnamed = '[No Name]', -- Text to show for unnamed buffers.
253-                    newfile = '[New]',     -- Text to show for newly created file before first write
254-                }
255-            }
256-        },
257-        lualine_x = {
258-            'filetype',
259-            {
260-                require("lazy.status").updates,
261-                cond = require("lazy.status").has_updates,
262-                color = { fg = "#ff9e64" },
263-            },
264-        },
265-        lualine_y = {'progress'},
266-        lualine_z = {'location'},
267-    },
268-    inactive_sections = {
269-        lualine_a = {},
270-        lualine_b = {},
271-        lualine_c = {'filename'},
272-        lualine_x = {'location'},
273-        lualine_y = {},
274-        lualine_z = {},
275-    },
276-    tabline = {},
277-    winbar = {},
278-    inactive_winbar = {},
279-    extensions = {},
280diff --git a/dot_config/nvim/lua/lsp.lua b/dot_config/nvim/lua/lsp.lua
281index d60cf5aa14338496c94f210ac777597297d2462b..3842d9c7c5d17cc9199a26dac2174352d5eb4dbd 100644
282--- a/dot_config/nvim/lua/lsp.lua
283+++ b/dot_config/nvim/lua/lsp.lua
284@@ -5,43 +5,49 @@ require("mason").setup()
285 require("mason-lspconfig").setup({ automatic_installation = true })
286 
287 lsp_zero.on_attach(function(_, bufnr)
288-    -- see :help lsp-zero-keybindings to learn the available actions
289-    lsp_zero.default_keymaps({buffer = bufnr})
290+	-- see :help lsp-zero-keybindings to learn the available actions
291+	lsp_zero.default_keymaps({ buffer = bufnr })
292 
293-    local opts = {buffer = bufnr, remap = false}
294-    vim.keymap.set("n", "<leader>vc", vim.lsp.buf.code_action, opts)
295-    vim.keymap.set("n", "<leader>vr", vim.lsp.buf.rename, opts)
296+	local opts = { buffer = bufnr, remap = false }
297+	vim.keymap.set("n", "<leader>vc", vim.lsp.buf.code_action, opts)
298+	vim.keymap.set("n", "<leader>vr", vim.lsp.buf.rename, opts)
299 
300-    vim.keymap.set("n", "<leader>en", vim.diagnostic.goto_next, opts)
301-    vim.keymap.set("n", "<leader>ep", vim.diagnostic.goto_prev, opts)
302-    vim.keymap.set("n", "<leader>ei", vim.diagnostic.open_float, opts)
303-    vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
304+	vim.keymap.set("n", "<leader>en", vim.diagnostic.goto_next, opts)
305+	vim.keymap.set("n", "<leader>ep", vim.diagnostic.goto_prev, opts)
306+	vim.keymap.set("n", "<leader>ei", vim.diagnostic.open_float, opts)
307+	vim.keymap.set("i", "<C-h>", vim.lsp.buf.signature_help, opts)
308 
309-    vim.keymap.set("n", "gr", function() telescope.lsp_references({
310-        include_declaration = false,
311-        show_line = false,
312-        fname_width = 64,
313-    }) end, opts)
314-    vim.keymap.set("n", "gd", function() telescope.lsp_definitions({
315-        show_line = false,
316-        fname_width = 64,
317-    }) end, opts)
318-    vim.keymap.set("n", "gi", function() telescope.lsp_implementations({
319-        show_line = false,
320-        fname_width = 64,
321-    }) end, opts)
322+	vim.keymap.set("n", "gr", function()
323+		telescope.lsp_references({
324+			include_declaration = false,
325+			show_line = false,
326+			fname_width = 64,
327+		})
328+	end, opts)
329+	vim.keymap.set("n", "gd", function()
330+		telescope.lsp_definitions({
331+			show_line = false,
332+			fname_width = 64,
333+		})
334+	end, opts)
335+	vim.keymap.set("n", "gi", function()
336+		telescope.lsp_implementations({
337+			show_line = false,
338+			fname_width = 64,
339+		})
340+	end, opts)
341 end)
342 
343 lsp_zero.format_on_save({
344-    format_opts = {
345-        async = true,
346-        timeout_ms = 10000,
347-    },
348-    servers = {
349-        ["efm"] = {"javascript", "typescript"},
350-        ["gopls"] = {"go"},
351-        ["stylua"] = {"lua"},
352-    }
353+	format_opts = {
354+		async = true,
355+		timeout_ms = 10000,
356+	},
357+	servers = {
358+		["efm"] = { "javascript", "typescript", "lua" },
359+		["gopls"] = { "go" },
360+		-- ["stylua"] = {"lua"},
361+	},
362 })
363 
364 -- Setup LSP servers
365@@ -51,56 +57,68 @@ lspconfig.golangci_lint_ls.setup({})
366 lspconfig.gopls.setup({})
367 -- lua
368 lspconfig.lua_ls.setup(lsp_zero.nvim_lua_ls())
369+-- protobuf
370+lspconfig.bufls.setup({})
371 -- python
372 lspconfig.pylsp.setup({})
373+lspconfig.pyright.setup({})
374 -- typescript
375 lspconfig.eslint.setup({})
376 lspconfig.tsserver.setup({})
377+-- efm
378+local stylua = {
379+	formatCommand = "stylua -",
380+	formatStdin = true,
381+}
382 local prettier = {
383-    formatCommand = 'prettierd "${INPUT}"',
384diff --git a/dot_config/nvim/lua/mappings.lua b/dot_config/nvim/lua/mappings.lua
385index ac6844089327b3a841557083cedcf2f6e075a564..6e304c13df33a399cf5edee17f959791e7d78a4d 100644
386--- a/dot_config/nvim/lua/mappings.lua
387+++ b/dot_config/nvim/lua/mappings.lua
388@@ -1,4 +1,4 @@
389-local opts = {noremap = true, silent = true}
390+local opts = { noremap = true, silent = true }
391 
392 -- Colemak bindings
393 vim.keymap.set("", "n", "j", opts)
394@@ -24,19 +24,19 @@ vim.keymap.set("", "<BS>", "gg", opts)
395 vim.keymap.set("", "<CR>", "G", opts)
396 vim.keymap.set("", "<Space>", "<NOP>", opts)
397 
398-vim.keymap.set("x", "p", "\"_dP", opts)
399+vim.keymap.set("x", "p", '"_dP', opts)
400 
401 vim.keymap.set("n", "<tab>", vim.cmd.bn, opts)
402 vim.keymap.set("n", "<s-tab>", vim.cmd.bp, opts)
403 vim.keymap.set("n", "U", vim.cmd.redo, opts)
404 
405 -- File operation maps
406-vim.keymap.set("n", "<leader>fd", function ()
407-    if vim.bo.filetype == "json" then
408-        vim.cmd("%!jq")
409-    else
410-        vim.cmd.normal('jzgg=G`z')
411-    end
412+vim.keymap.set("n", "<leader>fd", function()
413+	if vim.inspect(vim.lsp.get_active_clients()) then
414+		vim.lsp.buf.format()
415+	else
416+		vim.cmd.normal("jzgg=G`z")
417+	end
418 end)
419 vim.keymap.set("n", "<leader>fs", vim.cmd.w, opts)
420 vim.keymap.set("n", "<leader>fS", vim.cmd.SudaWrite, opts)
421@@ -47,7 +47,7 @@ vim.keymap.set("n", "<leader>wq", vim.cmd.wq, opts)
422 vim.keymap.set("n", "<leader>bd", ":bp | bd #<cr>", opts)
423 vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle, opts)
424 
425-vim.keymap.set("", "\\", ":let @/ = \"\"<CR>", opts)
426+vim.keymap.set("", "\\", ':let @/ = ""<CR>', opts)
427 
428 -- Git
429 vim.keymap.set("n", "<leader>gd", vim.cmd.Gvdiff, opts)
430@@ -64,35 +64,38 @@ vim.keymap.set("n", "<leader>wN", ":resize +5<CR>", opts)
431 vim.keymap.set("n", "<leader>wE", ":resize -5<CR>", opts)
432 
433 -- Telescope
434-require('telescope').setup({
435-    defaults = {
436-        mappings = {
437-            i = {
438-                ["<esc>"] = require('telescope.actions').close,
439-            },
440-        },
441-    },
442+require("telescope").setup({
443+	defaults = {
444+		mappings = {
445+			i = {
446+				["<esc>"] = require("telescope.actions").close,
447+			},
448+		},
449+	},
450 })
451 
452-local telescope = require('telescope.builtin')
453+local telescope = require("telescope.builtin")
454 
455-local files =function() xpcall(
456-    function() telescope.git_files{
457-        show_untracked = true,
458-        use_git_root = false,
459-    } end,
460-    function() telescope.find_files{
461-        hidden = true,
462-    } end
463-)end
464+local files = function()
465+	xpcall(function()
466+		telescope.git_files({
467+			show_untracked = true,
468+			use_git_root = false,
469+		})
470+	end, function()
471+		telescope.find_files({
472+			hidden = true,
473+		})
474+	end)
475+end
476 
477-vim.keymap.set('n', '<leader>ff', files, opts)
478-vim.keymap.set('n', '<c-p>', files, opts)
479-vim.keymap.set('n', '<leader>rg', function()
480-    telescope.grep_string{ shorten_path = true, word_match = "-w", only_sort_text = true, search = '' }
481+vim.keymap.set("n", "<leader>ff", files, opts)
482+vim.keymap.set("n", "<c-p>", files, opts)
483+vim.keymap.set("n", "<leader>rg", function()
484+	telescope.grep_string({ shorten_path = true, word_match = "-w", only_sort_text = true, search = "" })
485 end, opts)
486-vim.keymap.set('n', '<leader>fb', telescope.buffers, opts)
487-vim.keymap.set('n', '<leader>fh', telescope.help_tags, opts)
488diff --git a/dot_config/nvim/lua/plugins/comment.lua b/dot_config/nvim/lua/plugins/comment.lua
489index 3982bf5cdcaf6313a55d7663ef7321445452d378..49039749abdb231f4983f24e3fe39d0ef4b7d475 100644
490--- a/dot_config/nvim/lua/plugins/comment.lua
491+++ b/dot_config/nvim/lua/plugins/comment.lua
492@@ -1,18 +1,18 @@
493 return {
494-    'numToStr/Comment.nvim',
495-    opts = {
496-        toggler = {
497-            ---Line-comment toggle keymap
498-            line = '<leader>/',
499-            ---Block-comment toggle keymap
500-            block = '<leader>b/',
501-        },
502-        opleader = {
503-            ---Line-comment keymap
504-            line = '<leader>/',
505-            ---Block-comment keymap
506-            block = '<leader>b/',
507-        },
508-    },
509-    lazy = false,
510+	"numToStr/Comment.nvim",
511+	opts = {
512+		toggler = {
513+			---Line-comment toggle keymap
514+			line = "<leader>/",
515+			---Block-comment toggle keymap
516+			block = "<leader>b/",
517+		},
518+		opleader = {
519+			---Line-comment keymap
520+			line = "<leader>/",
521+			---Block-comment keymap
522+			block = "<leader>b/",
523+		},
524+	},
525+	lazy = false,
526 }
527diff --git a/dot_config/nvim/lua/plugins/git.lua b/dot_config/nvim/lua/plugins/git.lua
528index bcfc75867b7e187ce0e4fa7a608773cd0a992f9f..d107168fa6bdbfb7fc09ecee8009fa22b1cae8f1 100644
529--- a/dot_config/nvim/lua/plugins/git.lua
530+++ b/dot_config/nvim/lua/plugins/git.lua
531@@ -1,5 +1,5 @@
532 return {
533-    "lewis6991/gitsigns.nvim",
534-    "sindrets/diffview.nvim",
535-    "tpope/vim-fugitive",
536+	"lewis6991/gitsigns.nvim",
537+	"sindrets/diffview.nvim",
538+	"tpope/vim-fugitive",
539 }
540diff --git a/dot_config/nvim/lua/plugins/init.lua b/dot_config/nvim/lua/plugins/init.lua
541index 01f999b9fafc3fbc01d9aafecd53b8cb12c040cf..a2d462c7d28b2546839f409e8ef380f22a05dbf8 100644
542--- a/dot_config/nvim/lua/plugins/init.lua
543+++ b/dot_config/nvim/lua/plugins/init.lua
544@@ -1,64 +1,64 @@
545 return {
546-    -- Look and feel
547-    {
548-        "ellisonleao/gruvbox.nvim",
549-        priority = 1000 ,
550-        config = true,
551-    },
552-    {
553-        'akinsho/bufferline.nvim',
554-        version = "*",
555-        dependencies = 'nvim-tree/nvim-web-devicons',
556-    },
557-    "nvim-lualine/lualine.nvim",
558+	-- Look and feel
559+	{
560+		"ellisonleao/gruvbox.nvim",
561+		priority = 1000,
562+		config = true,
563+	},
564+	{
565+		"akinsho/bufferline.nvim",
566+		version = "*",
567+		dependencies = "nvim-tree/nvim-web-devicons",
568+	},
569+	"nvim-lualine/lualine.nvim",
570 
571-    -- keymaps
572-    {
573-        'windwp/nvim-autopairs',
574-        event = "InsertEnter",
575-        opts = {}
576-    },
577-    {
578-        "kylechui/nvim-surround",
579-        version = "*",
580-        event = "VeryLazy",
581-        config = function()
582-            require("nvim-surround").setup({
583-                -- Configuration here, or leave empty to use defaults
584-            })
585-        end
586-    },
587-    "folke/which-key.nvim",
588+	-- keymaps
589+	{
590+		"windwp/nvim-autopairs",
591+		event = "InsertEnter",
592+		opts = {},
593+	},
594+	{
595+		"kylechui/nvim-surround",
596+		version = "*",
597+		event = "VeryLazy",
598+		config = function()
599+			require("nvim-surround").setup({
600+				-- Configuration here, or leave empty to use defaults
601+			})
602+		end,
603+	},
604+	"folke/which-key.nvim",
605 
606-    -- functionality
607-    'andymass/vim-matchup',
608-    'tpope/vim-repeat',
609-    'mbbill/undotree',
610-    'jdhao/whitespace.nvim',
611-    'lambdalisue/suda.vim',
612-    'xiyaowong/nvim-cursorword',
613-    'ahmedkhalf/project.nvim',
614-    'github/copilot.vim',
615-    "mfussenegger/nvim-dap",
616-    "rcarriga/nvim-dap-ui",
617-    {
618-        "norcalli/nvim-colorizer.lua",
619-        config = function ()
620-            require("colorizer").setup()
621-        end
622-    },
623-    {
624-        'folke/neodev.nvim',
625-        dependencies = {
626-            "rcarriga/nvim-dap-ui",
627-        },
628-        opts = {
629-            library = {
630-                plugins = {
631-                    "nvim-dap-ui",
632-                },
633-                types = true,
634-            },
635-        },
636-    },
637+	-- functionality
638+	"andymass/vim-matchup",
639+	"tpope/vim-repeat",
640+	"mbbill/undotree",
641+	"jdhao/whitespace.nvim",
642+	"lambdalisue/suda.vim",
643+	"xiyaowong/nvim-cursorword",
644diff --git a/dot_config/nvim/lua/plugins/lsp.lua b/dot_config/nvim/lua/plugins/lsp.lua
645index cff73a9ad5d2c0e51568017ba885adbb1cc1c28c..24c16a9cc934dedb70da956c28f94b403525a36a 100644
646--- a/dot_config/nvim/lua/plugins/lsp.lua
647+++ b/dot_config/nvim/lua/plugins/lsp.lua
648@@ -1,25 +1,25 @@
649 return {
650-    {'williamboman/mason.nvim'},
651-    {'williamboman/mason-lspconfig.nvim'},
652+	{ "williamboman/mason.nvim" },
653+	{ "williamboman/mason-lspconfig.nvim" },
654 
655-    {'VonHeikemen/lsp-zero.nvim', branch = 'v3.x'},
656-    {'neovim/nvim-lspconfig'},
657-    {'hrsh7th/cmp-nvim-lsp'},
658-    {'hrsh7th/nvim-cmp'},
659-    {'L3MON4D3/LuaSnip'},
660+	{ "VonHeikemen/lsp-zero.nvim", branch = "v3.x" },
661+	{ "neovim/nvim-lspconfig" },
662+	{ "hrsh7th/cmp-nvim-lsp" },
663+	{ "hrsh7th/nvim-cmp" },
664+	{ "L3MON4D3/LuaSnip" },
665 
666-    {
667-        "ray-x/go.nvim",
668-        dependencies = {
669-            "ray-x/guihua.lua",
670-            "neovim/nvim-lspconfig",
671-            "nvim-treesitter/nvim-treesitter",
672-        },
673-        config = function()
674-            require("go").setup()
675-        end,
676-        event = {"CmdlineEnter"},
677-        ft = {"go", "gomod"},
678-        build = ":lua require('go.install').update_all_sync()"
679-    }
680+	{
681+		"ray-x/go.nvim",
682+		dependencies = {
683+			"ray-x/guihua.lua",
684+			"neovim/nvim-lspconfig",
685+			"nvim-treesitter/nvim-treesitter",
686+		},
687+		config = function()
688+			require("go").setup()
689+		end,
690+		event = { "CmdlineEnter" },
691+		ft = { "go", "gomod" },
692+		build = ":lua require('go.install').update_all_sync()",
693+	},
694 }
695diff --git a/dot_config/nvim/lua/plugins/telescope.lua b/dot_config/nvim/lua/plugins/telescope.lua
696index 78791fbd5529ee7af796bb61a7ba74b6a1bfc1cc..4d1680eb78badf4d6c9f18100603daf36adb0ba8 100644
697--- a/dot_config/nvim/lua/plugins/telescope.lua
698+++ b/dot_config/nvim/lua/plugins/telescope.lua
699@@ -1,13 +1,13 @@
700 return {
701-    {
702-        'nvim-telescope/telescope.nvim',
703-        branch = '0.1.x',
704-        dependencies = {
705-            'nvim-lua/plenary.nvim',
706-            {
707-                'nvim-telescope/telescope-fzf-native.nvim',
708-                build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build',
709-            }
710-        },
711-    },
712+	{
713+		"nvim-telescope/telescope.nvim",
714+		branch = "0.1.x",
715+		dependencies = {
716+			"nvim-lua/plenary.nvim",
717+			{
718+				"nvim-telescope/telescope-fzf-native.nvim",
719+				build = "cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build",
720+			},
721+		},
722+	},
723 }
724diff --git a/dot_config/nvim/lua/plugins/tools.lua b/dot_config/nvim/lua/plugins/tools.lua
725index 5bc3ee2b05f84539e57c55e7fdda2d263417b36e..09a26c42ec3b5c70e5b39988e6ee973b8e25e9c0 100644
726--- a/dot_config/nvim/lua/plugins/tools.lua
727+++ b/dot_config/nvim/lua/plugins/tools.lua
728@@ -1,11 +1,11 @@
729 return {
730-    {
731-        "David-Kunz/jester",
732-        config = function()
733-            require('jester').setup({
734-                cmd = "yarn test -t '$result' $file",
735-                terminal_cmd = ":15split | terminal",
736-            })
737-        end
738-    },
739+	{
740+		"David-Kunz/jester",
741+		config = function()
742+			require("jester").setup({
743+				cmd = "yarn test -t '$result' $file",
744+				terminal_cmd = ":15split | terminal",
745+			})
746+		end,
747+	},
748 }
749diff --git a/dot_config/nvim/lua/plugins/treesitter.lua b/dot_config/nvim/lua/plugins/treesitter.lua
750index 8fffa2cfa5cc804e347df7c522a4191860637bc6..603257f4e3fdfddef88932df81ab85927838cc13 100644
751--- a/dot_config/nvim/lua/plugins/treesitter.lua
752+++ b/dot_config/nvim/lua/plugins/treesitter.lua
753@@ -1,65 +1,65 @@
754 return {
755-    {
756-        "nvim-treesitter/playground",
757-        dependencies = {
758-            "nvim-treesitter/nvim-treesitter",
759-        },
760-    },
761-    {
762-        "nvim-treesitter/nvim-treesitter",
763-        version = false,
764-        build = ":TSUpdate",
765-        event = { "BufReadPost", "BufNewFile", "VeryLazy" },
766-        cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" },
767-        config = function()
768-            require'nvim-treesitter.configs'.setup({
769-                highlight = {
770-                    enable = true,
771-                    additional_vim_regex_highlighting = false,
772-                },
773-                indent = {
774-                    enable = true,
775-                },
776-                auto_install = true,
777-                ensure_installed = {
778-                    "bash",
779-                    "go",
780-                    "javascript",
781-                    "json",
782-                    "lua",
783-                    "luadoc",
784-                    "luap",
785-                    "markdown",
786-                    "markdown_inline",
787-                    "python",
788-                    "query",
789-                    "regex",
790-                    "terraform",
791-                    "tsx",
792-                    "typescript",
793-                    "vim",
794-                    "vimdoc",
795-                    "yaml",
796-                },
797-                playground = {
798-                    enable = true,
799-                    disable = {},
800-                    updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
801-                    persist_queries = false,
802-                    keybindings = {
803-                        toggle_query_editor = 'o',
804-                        toggle_hl_groups = 'i',
805-                        toggle_injected_languages = 't',
806-                        toggle_anonymous_nodes = 'a',
807-                        toggle_language_display = 'I',
808-                        focus_language = 'f',
809-                        unfocus_language = 'F',
810-                        update = 'R',
811-                        goto_node = '<cr>',
812-                        show_help = '?',
813-                    },
814-                },
815-            })
816-        end,
817-    },
818+	{
819+		"nvim-treesitter/playground",
820+		dependencies = {
821+			"nvim-treesitter/nvim-treesitter",
822+		},
823+	},
824+	{
825+		"nvim-treesitter/nvim-treesitter",
826+		version = false,
827+		build = ":TSUpdate",
828+		event = { "BufReadPost", "BufNewFile", "VeryLazy" },
829+		cmd = { "TSUpdateSync", "TSUpdate", "TSInstall" },
830+		config = function()
831+			require("nvim-treesitter.configs").setup({
832+				highlight = {
833+					enable = true,
834+					additional_vim_regex_highlighting = false,
835+				},
836+				indent = {
837+					enable = true,
838+				},
839+				auto_install = true,
840+				ensure_installed = {
841+					"bash",
842+					"go",
843+					"javascript",
844+					"json",
845+					"lua",
846+					"luadoc",
847+					"luap",
848+					"markdown",
849+					"markdown_inline",
850+					"python",
851+					"query",
852+					"regex",
853diff --git a/dot_config/nvim/lua/sets.lua b/dot_config/nvim/lua/sets.lua
854index 4dad9a4747ff82ad047527336333a88b85c8a5c2..376eb3e9a418762f614c1ef58b2b84da1f266156 100644
855--- a/dot_config/nvim/lua/sets.lua
856+++ b/dot_config/nvim/lua/sets.lua
857@@ -33,4 +33,4 @@ vim.opt.undodir = "/home/pavle/.local/share/nvim/undodir"
858 vim.opt.scrolloff = 8
859 vim.opt.ignorecase = true
860 vim.opt.smartcase = true
861-vim.opt.shell = '/usr/bin/zsh'
862+vim.opt.shell = "/usr/bin/zsh"