feat(initial): add all dotfiles
This commit is contained in:
		
							
								
								
									
										21
									
								
								nvim/lua/lspconfig/prolog_lsp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								nvim/lua/lspconfig/prolog_lsp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| local configs = require 'lspconfig.configs' | ||||
| local util = require 'lspconfig.util' | ||||
|  | ||||
| configs.prolog_lsp = { | ||||
|   default_config = { | ||||
|     cmd = {"swipl", | ||||
|            "-g", "use_module(library(lsp_server)).", | ||||
|            "-g", "lsp_server:main", | ||||
|            "-t", "halt", | ||||
|            "--", "stdio"}; | ||||
|     filetypes = {"prolog"}; | ||||
|     root_dir = util.root_pattern("pack.pl"); | ||||
|   }; | ||||
|   docs = { | ||||
|      description = [[ | ||||
|   https://github.com/jamesnvc/prolog_lsp | ||||
|  | ||||
|   Prolog Language Server | ||||
|   ]]; | ||||
|   } | ||||
| } | ||||
							
								
								
									
										38
									
								
								nvim/lua/olinpin/commands.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								nvim/lua/olinpin/commands.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| function InsertDebugPrint() | ||||
|     local ft = vim.bo.filetype | ||||
|     local filename = vim.fn.expand("%:t") | ||||
|     local lineno = vim.fn.line(".") | ||||
|     local current_line = vim.fn.getline(".") | ||||
|     local indent = string.match(current_line, "^%s*") | ||||
|     local print_statement = "" | ||||
|     local cursor_pos = #print_statement | ||||
|  | ||||
|     if ft == "go" then | ||||
|         print_statement = string.format('log.Printf("DEBUG: %s:%d - %%v", )', filename, lineno) | ||||
|         cursor_pos = #print_statement - 1 | ||||
|     elseif ft == "python" then | ||||
|         print_statement = string.format('print(f"DEBUG: %s:%d")', filename, lineno) | ||||
|         cursor_pos = #print_statement + 2 | ||||
|     elseif ft == "php" then | ||||
|         print_statement = string.format('dd("DEBUG: %s:%d ");', filename, lineno) | ||||
|         cursor_pos = #print_statement - 1 | ||||
|     elseif ft == "javascript" or ft == "typescript" then | ||||
|         print_statement = string.format('console.log("DEBUG: %s:%d: ", );', filename, lineno) | ||||
|         cursor_pos = #print_statement - 1 | ||||
|     else | ||||
|         return | ||||
|     end | ||||
|  | ||||
|     -- Insert the statement with the same indentation | ||||
|     print_statement = indent .. print_statement | ||||
|     vim.api.nvim_put({ print_statement }, 'l', true, true) | ||||
|  | ||||
|     -- Move the cursor to the right position & go into insert mode | ||||
|     local cursor_line = vim.fn.line(".") | ||||
|     vim.fn.cursor(cursor_line, cursor_pos) | ||||
|     -- vim.api.nvim_command('startinsert') | ||||
| end | ||||
|  | ||||
| vim.api.nvim_set_keymap('n', '<Leader>ic', ':lua InsertDebugPrint()<CR>', { noremap = true, silent = true }) | ||||
|  | ||||
|  | ||||
							
								
								
									
										10
									
								
								nvim/lua/olinpin/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								nvim/lua/olinpin/init.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| require("olinpin.set") | ||||
| require("olinpin.lazy") | ||||
| require("olinpin.remap") | ||||
| require("olinpin.commands") | ||||
|  | ||||
| -- this needs to be set after lazy | ||||
| vim.o.timeoutlen = 0 | ||||
| -- setup prolog | ||||
| require('lspconfig/prolog_lsp') | ||||
| require('lspconfig').prolog_lsp.setup{} | ||||
							
								
								
									
										14
									
								
								nvim/lua/olinpin/lazy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nvim/lua/olinpin/lazy.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| 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) | ||||
|  | ||||
| require("lazy").setup("olinpin.plugins") | ||||
							
								
								
									
										87
									
								
								nvim/lua/olinpin/plugins/avante.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								nvim/lua/olinpin/plugins/avante.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,87 @@ | ||||
| return { | ||||
| 	"yetone/avante.nvim", | ||||
| 	event = "VeryLazy", | ||||
| 	lazy = false, | ||||
| 	config = function(_, opts) | ||||
| 		-- Let the plugin load first | ||||
| 		require("avante").setup(opts) | ||||
| 		-- Then remove the default mappings | ||||
| 		vim.schedule(function() | ||||
| 			vim.keymap.del({ "n", "v" }, "<leader>aa") | ||||
| 			vim.keymap.del("n", "<leader>ar") | ||||
| 			vim.keymap.del("v", "<leader>ae") | ||||
| 			vim.keymap.del("n", "<leader>ah") | ||||
| 			vim.keymap.del("n", "<leader>ad") | ||||
| 			vim.keymap.del("n", "<leader>af") | ||||
| 			vim.keymap.del("n", "<leader>aR") | ||||
| 			vim.keymap.del("n", "<leader>as") | ||||
| 			vim.keymap.del("n", "<leader>at") | ||||
| 		end) | ||||
| 	end, | ||||
| 	opts = { | ||||
| 		-- add any opts here | ||||
| 		provider = "copilot", | ||||
| 		copilot = { | ||||
| 			model = "claude-3.5-sonnet", | ||||
| 			-- max_tokens = 4096, | ||||
| 		}, | ||||
| 	}, | ||||
| 	build = "make", | ||||
| 	keys = { | ||||
| 		{ | ||||
| 			"<leader>ca", | ||||
| 			function() | ||||
| 				require("avante.api").ask() | ||||
| 			end, | ||||
| 			desc = "avante: ask", | ||||
| 			mode = { "n", "v" }, | ||||
| 		}, | ||||
| 		{ | ||||
| 			"<leader>cr", | ||||
| 			function() | ||||
| 				require("avante.api").refresh() | ||||
| 			end, | ||||
| 			desc = "avante: refresh", | ||||
| 		}, | ||||
| 		{ | ||||
| 			"<leader>ce", | ||||
| 			function() | ||||
| 				require("avante.api").edit() | ||||
| 			end, | ||||
| 			desc = "avante: edit", | ||||
| 			mode = "v", | ||||
| 		}, | ||||
| 		{ | ||||
| 			"<leader>ch", | ||||
| 			function() | ||||
| 				require("avante.api").hint() | ||||
| 			end, | ||||
| 			desc = "avante: hint", | ||||
| 			mode = "n", | ||||
| 		}, | ||||
| 		{ | ||||
| 			"<leader>cd", | ||||
| 			function() | ||||
| 				require("avante.api").debug() | ||||
| 			end, | ||||
| 			desc = "avante: debug", | ||||
| 			mode = "n", | ||||
| 		}, | ||||
| 	}, | ||||
| 	dependencies = { | ||||
| 		"stevearc/dressing.nvim", | ||||
| 		"nvim-lua/plenary.nvim", | ||||
| 		"MunifTanjim/nui.nvim", | ||||
| 		--- The below dependencies are optional, | ||||
| 		-- "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons | ||||
| 		{ | ||||
| 			-- Make sure to setup it properly if you have lazy=true | ||||
| 			"MeanderingProgrammer/render-markdown.nvim", | ||||
| 			-- "zbirenbaum/copilot.lua", -- for providers='copilot' | ||||
| 			opts = { | ||||
| 				file_types = { "markdown", "Avante" }, | ||||
| 			}, | ||||
| 			ft = { "markdown", "Avante" }, | ||||
| 		}, | ||||
| 	}, | ||||
| } | ||||
							
								
								
									
										14
									
								
								nvim/lua/olinpin/plugins/barbecue.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								nvim/lua/olinpin/plugins/barbecue.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| return   { | ||||
|     "utilyre/barbecue.nvim", | ||||
|     name = "barbecue", | ||||
|     event = { "VeryLazy"}, | ||||
|     version = "*", | ||||
|     dependencies = { | ||||
|         "SmiteshP/nvim-navic", | ||||
|         "nvim-tree/nvim-web-devicons", -- optional dependency | ||||
|     }, | ||||
|     opts = { | ||||
|         -- configurations go here | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										8
									
								
								nvim/lua/olinpin/plugins/blankline.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								nvim/lua/olinpin/plugins/blankline.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| return { | ||||
|     "lukas-reineke/indent-blankline.nvim", | ||||
|     event = "VeryLazy", | ||||
|     config = function () | ||||
|         require("ibl").setup { | ||||
|         } | ||||
|     end | ||||
| } | ||||
							
								
								
									
										25
									
								
								nvim/lua/olinpin/plugins/color.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								nvim/lua/olinpin/plugins/color.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| function ColorMe(color) | ||||
|     color = color or "OceanicNext" | ||||
|     vim.cmd.colorscheme(color) | ||||
|  | ||||
|     vim.api.nvim_set_hl(0, "Normal", { bg = "none" }) | ||||
|     vim.api.nvim_set_hl(0, "NormalFloat", { bg = "none" }) | ||||
| end | ||||
|  | ||||
| return { | ||||
|     { | ||||
|         'mhartington/oceanic-next', | ||||
|         config = function () | ||||
|             -- require('oceanic-next').setup() | ||||
|             vim.cmd.colorscheme('OceanicNext') | ||||
|             vim.cmd("highlight! EndOfBuffer guibg=background guifg=background") | ||||
|         end | ||||
|     } | ||||
|     -- { | ||||
|     --     'nxvu699134/vn-night.nvim', | ||||
|     --     config = function () | ||||
|     --         vim.cmd.colorscheme('vn-night') | ||||
|     --         vim.cmd("highlight! EndOfBuffer guibg=background guifg=background") | ||||
|     --     end | ||||
|     -- } | ||||
| } | ||||
							
								
								
									
										7
									
								
								nvim/lua/olinpin/plugins/colorizer.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nvim/lua/olinpin/plugins/colorizer.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| return { | ||||
|     'norcalli/nvim-colorizer.lua', | ||||
|     event = "VeryLazy", | ||||
|     config = function() | ||||
|         require('colorizer').setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										17
									
								
								nvim/lua/olinpin/plugins/comment.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nvim/lua/olinpin/plugins/comment.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| return { | ||||
|     "numToStr/Comment.nvim", | ||||
|     event = "VeryLazy", | ||||
|     lazy = false, | ||||
|  | ||||
|     config = function () | ||||
|         require('Comment').setup({ | ||||
|             opleader = { | ||||
|                 -- Line-comment toggle keymap | ||||
|                 line = '<leader>/' | ||||
|             }, | ||||
|             toggler = { | ||||
|                 line = "<leader>/" | ||||
|             } | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										22
									
								
								nvim/lua/olinpin/plugins/copilot.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								nvim/lua/olinpin/plugins/copilot.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| return { | ||||
|     "zbirenbaum/copilot.lua", | ||||
|     cmd = "Copilot", | ||||
|     event = "InsertEnter", | ||||
|     config = function () | ||||
|         require("copilot").setup({ | ||||
|             suggestion = { | ||||
|                 enabled = true, | ||||
|                 auto_trigger = true, | ||||
|                 keymap = { | ||||
|                     accept = "…" | ||||
|                 } | ||||
|             }, | ||||
|             panel = { | ||||
|                 enabled = false, | ||||
|             }, | ||||
|             filetypes = { | ||||
|                 ["."] = false, | ||||
|             } | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										17
									
								
								nvim/lua/olinpin/plugins/dadbod.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								nvim/lua/olinpin/plugins/dadbod.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| return { | ||||
|     'kristijanhusak/vim-dadbod-ui', | ||||
|     dependencies = { | ||||
|         { 'tpope/vim-dadbod', lazy = true }, | ||||
|         { 'kristijanhusak/vim-dadbod-completion', ft = { 'sql', 'mysql' }, lazy = true }, | ||||
|     }, | ||||
|     cmd = { | ||||
|         'DBUI', | ||||
|         'DBUIToggle', | ||||
|         'DBUIAddConnection', | ||||
|         'DBUIFindBuffer', | ||||
|     }, | ||||
|     init = function() | ||||
|         -- Your DBUI configuration | ||||
|         vim.g.db_ui_use_nerd_fonts = 1 | ||||
|     end | ||||
| } | ||||
							
								
								
									
										3
									
								
								nvim/lua/olinpin/plugins/diagrams.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								nvim/lua/olinpin/plugins/diagrams.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| return { | ||||
|     "xavierchow/vim-sequence-diagram" | ||||
| } | ||||
							
								
								
									
										11
									
								
								nvim/lua/olinpin/plugins/duck.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/lua/olinpin/plugins/duck.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| return { | ||||
|     'tamton-aquib/duck.nvim', | ||||
|     config = function() | ||||
|         local duck = require("duck") | ||||
|         vim.keymap.set('n', '<leader>dd', function() duck.hatch() end, {}) | ||||
|         vim.keymap.set('n', '<leader>dc', function() duck.hatch("🐿️", 20) end, {}) | ||||
|         vim.keymap.set('n', '<leader>dk', function() duck.cook() end, {}) | ||||
|         vim.keymap.set('n', '<leader>dk', function() duck.cook("🐿️") end, {}) | ||||
|         -- duck.hatch("🐿️", 20) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										11
									
								
								nvim/lua/olinpin/plugins/fugitive.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/lua/olinpin/plugins/fugitive.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| return { | ||||
|     'tpope/vim-fugitive', | ||||
|     event = "VeryLazy", | ||||
|     config = function() | ||||
|         vim.keymap.set("n", "<leader>gs", vim.cmd.Git) | ||||
|         vim.keymap.set("n", "<leader>gpl", ":G pull<CR>", { desc = "Git pull" }) | ||||
|         vim.keymap.set("n", "<leader>gps", ":G push<CR>", { desc = "Git push" }) | ||||
|         vim.keymap.set("n", "<leader>gc", ":Git commit<CR>", { desc = "Git commit" }) | ||||
|         vim.keymap.set("n", "<leader>ga", ":Gwrite<CR>", { desc = "Git add current file" }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										56
									
								
								nvim/lua/olinpin/plugins/git-conflict.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										56
									
								
								nvim/lua/olinpin/plugins/git-conflict.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,56 @@ | ||||
| return { | ||||
| -- 	"akinsho/git-conflict.nvim", | ||||
| -- 	version = "*", | ||||
| --     lazy = true, | ||||
| -- 	config = function() | ||||
| -- 		require("git-conflict").setup({ | ||||
| -- 			default_mappings = false, | ||||
| -- 			default_commands = true, -- disable commands created by this plugin | ||||
| -- 			disable_diagnostics = false, -- This will disable the diagnostics in a buffer whilst it is conflicted | ||||
| -- 			list_opener = "copen", -- command or function to open the conflicts list | ||||
| -- 			-- highlights = { -- They must have background color, otherwise the default color will be used | ||||
| -- 			-- 	incoming = "DiffAdd", | ||||
| -- 			-- 	current = "DiffText", | ||||
| -- 			-- 	ancestor = "DiffChange", | ||||
| -- 			-- }, | ||||
| -- 		}) | ||||
| -- | ||||
| -- 		local function conflict_choose(choice) | ||||
| -- 			return function() | ||||
| -- 				vim.cmd("GitConflictChoose" .. choice) | ||||
| -- 				vim.cmd("AvanteConflictChoose" .. choice) | ||||
| -- 			end | ||||
| -- 		end | ||||
| -- | ||||
| -- 		local function resolve_conflict(action) | ||||
| -- 			if vim.fn.exists(":GitConflict") == 2 and vim.fn["git_conflict#is_conflicted"]() then | ||||
| -- 				if action == "ours" then | ||||
| -- 					return vim.cmd("GitConflictChooseOurs") | ||||
| -- 				elseif action == "theirs" then | ||||
| -- 					return vim.cmd("GitConflictChooseTheirs") | ||||
| -- 				elseif action == "both" then | ||||
| -- 					return vim.cmd("GitConflictChooseBoth") | ||||
| -- 				elseif action == "none" then | ||||
| -- 					return vim.cmd("GitConflictChooseNone") | ||||
| -- 				end | ||||
| -- 			elseif vim.fn.exists(":Avante") == 2 then | ||||
| -- 				if action == "ours" then | ||||
| -- 					return vim.cmd("AvanteChooseOurs") | ||||
| -- 				elseif action == "theirs" then | ||||
| -- 					return vim.cmd("AvanteChooseTheirs") | ||||
| -- 				elseif action == "both" then | ||||
| -- 					return vim.cmd("AvanteChooseBoth") | ||||
| -- 				elseif action == "none" then | ||||
| -- 					return vim.cmd("AvanteChooseNone") | ||||
| -- 				end | ||||
| -- 			else | ||||
| --                 return "" | ||||
| -- 			end | ||||
| -- 		end | ||||
| -- | ||||
| -- 		vim.keymap.set("n", "<leader>co", resolve_conflict("ours"), { desc = "Choose Ours (Avante & Git Conflict)" }) | ||||
| -- 		vim.keymap.set("n", "<leader>ct", resolve_conflict("theirs"), { desc = "Choose Theirs (Avante & Git Conflict)"}) | ||||
| -- 		vim.keymap.set("n", "<leader>cb", resolve_conflict("both"), { desc = "Choose Both (Avante & Git Conflict)" }) | ||||
| -- 		vim.keymap.set("n", "<leader>cn", resolve_conflict("none"), { desc = "Choose None (Avante & Git Conflict)" }) | ||||
| -- 	end, | ||||
| } | ||||
							
								
								
									
										19
									
								
								nvim/lua/olinpin/plugins/gitsigns.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								nvim/lua/olinpin/plugins/gitsigns.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| return { | ||||
|     "lewis6991/gitsigns.nvim", | ||||
|     event = "VeryLazy", | ||||
|     opts = function() | ||||
|         return { | ||||
|             signs = { | ||||
|                 add = { text = "│" }, | ||||
|                 change = { text = "│" }, | ||||
|                 delete = { text = "" }, | ||||
|                 topdelete = { text = "‾" }, | ||||
|                 changedelete = { text = "~" }, | ||||
|                 untracked = { text = "│" }, | ||||
|             } | ||||
|         } | ||||
|     end, | ||||
|     config = function() | ||||
|         require("gitsigns").setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										65
									
								
								nvim/lua/olinpin/plugins/harpoon.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								nvim/lua/olinpin/plugins/harpoon.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,65 @@ | ||||
| return { | ||||
|  | ||||
|     'ThePrimeagen/harpoon', | ||||
|     event = "VeryLazy", | ||||
|     dependencies = 'nvim-lua/plenary.nvim', | ||||
|     config = function() | ||||
|         require("harpoon").setup({ | ||||
|             tabline = true, | ||||
|             tabline_prefix = "   ", | ||||
|             tabline_suffix = "   ", | ||||
|             menu = { | ||||
|                 width = vim.api.nvim_win_get_width(0) - 20, | ||||
|             } | ||||
|         }) | ||||
|         local mark = require("harpoon.mark") | ||||
|         local ui = require("harpoon.ui") | ||||
|         local harpoon = require("harpoon") | ||||
|  | ||||
|         vim.keymap.set("n", "<leader>a", mark.add_file) | ||||
|         vim.keymap.set("n", "<leader>x", function() | ||||
|             -- remove current file | ||||
|             mark.rm_file(vim.fn.expand('%')) | ||||
|  | ||||
|             local new_marks = {} | ||||
|             local config = harpoon.get_mark_config() | ||||
|  | ||||
|             -- loop over the current marks | ||||
|             for idx = 1, mark.get_length() do | ||||
|                 local filename = config.marks[idx].filename | ||||
|                 -- if the mark is not empty, add it to the new marks table (removes the '(empty)' file) | ||||
|                 if filename ~= "" then | ||||
|                     table.insert(new_marks, { | ||||
|                         filename = filename, | ||||
|                         row = config.marks[idx].row, | ||||
|                         col = config.marks[idx].col, | ||||
|                     }) | ||||
|                 end | ||||
|             end | ||||
|             config.marks = new_marks | ||||
|  | ||||
|             ui.nav_prev() | ||||
|  | ||||
|         end) | ||||
|         vim.keymap.set("n", "<leader>h", ui.toggle_quick_menu) | ||||
|  | ||||
|         vim.keymap.set("n", "<leader>1", function() ui.nav_file(1) end) | ||||
|         vim.keymap.set("n", "<leader>2", function() ui.nav_file(2) end) | ||||
|         vim.keymap.set("n", "<leader>3", function() ui.nav_file(3) end) | ||||
|         vim.keymap.set("n", "<leader>4", function() ui.nav_file(4) end) | ||||
|         vim.keymap.set("n", "<leader>5", function() ui.nav_file(5) end) | ||||
|         vim.keymap.set("n", "<leader>6", function() ui.nav_file(6) end) | ||||
|         vim.keymap.set("n", "<leader>7", function() ui.nav_file(7) end) | ||||
|         vim.keymap.set("n", "<leader>8", function() ui.nav_file(8) end) | ||||
|         vim.keymap.set("n", "<leader>9", function() ui.nav_file(9) end) | ||||
|  | ||||
|  | ||||
|         vim.keymap.set("n", "<tab>", ui.nav_next) | ||||
|         vim.keymap.set("n", "<S-Tab>", ui.nav_prev) | ||||
|         vim.cmd('highlight! HarpoonInactive guibg=NONE guifg=#63698c') | ||||
|         vim.cmd('highlight! HarpoonActive guibg=NONE guifg=white') | ||||
|         vim.cmd('highlight! HarpoonNumberActive guibg=NONE guifg=#7aa2f7') | ||||
|         vim.cmd('highlight! HarpoonNumberInactive guibg=NONE guifg=#7aa2f7') | ||||
|         vim.cmd('highlight! TabLineFill guibg=NONE guifg=background') | ||||
|     end | ||||
| } | ||||
							
								
								
									
										24
									
								
								nvim/lua/olinpin/plugins/leap.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								nvim/lua/olinpin/plugins/leap.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| return { | ||||
|     "ggandor/leap.nvim", | ||||
|     config = function () | ||||
|         require('leap') | ||||
|         vim.keymap.set("n", "<leader>s", "<Plug>(leap-forward-to)", { desc = "Leap forward to" }) | ||||
|         -- default mapping: `s` | ||||
|  | ||||
|         vim.keymap.set("n", "<leader>S", "<Plug>(leap-backward-to)", { desc = "Leap backward to" }) | ||||
|         -- arguments: `{ backward = true }` | ||||
|         -- default mapping: `S` | ||||
|  | ||||
|         vim.keymap.set("n", "<leader>b", "<Plug>(leap-forward-till)", { desc = "Leap forward till" } ) | ||||
|         -- arguments: `{ offset = -1, inclusive_op = true }` | ||||
|         -- default mapping: `x` (Visual and Operator-pending mode only) | ||||
|  | ||||
|         vim.keymap.set("n", "<leader>B", "<Plug>(leap-backward-till)", { desc = "Leap backward till" }) | ||||
|         -- arguments: `{ backward = true, offset = 2 }` | ||||
|         -- default mapping: `X` (Visual and Operator-pending mode only) | ||||
|  | ||||
|         -- <Plug>(leap-from-window) | ||||
|         -- arguments: `{ target_windows = require('leap.util').get_enterable_windows() }` | ||||
|         -- default mapping: `gs` | ||||
|     end | ||||
| } | ||||
							
								
								
									
										49
									
								
								nvim/lua/olinpin/plugins/lsp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								nvim/lua/olinpin/plugins/lsp.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| return { | ||||
|     'VonHeikemen/lsp-zero.nvim', | ||||
|     branch = 'v2.x', | ||||
|     dependencies = { | ||||
|         -- LSP Support | ||||
|         {'neovim/nvim-lspconfig'},             -- Required | ||||
|         {'williamboman/mason.nvim'},           -- Optional | ||||
|         {'williamboman/mason-lspconfig.nvim'}, -- Optional | ||||
|  | ||||
|         -- Autocompletion | ||||
|         {'hrsh7th/nvim-cmp'},     -- Required | ||||
|         {'hrsh7th/cmp-nvim-lsp'}, -- Required | ||||
|         {'L3MON4D3/LuaSnip'},     -- Required | ||||
|     }, | ||||
|     config = function() | ||||
|         local lsp = require('lsp-zero') | ||||
|  | ||||
|         lsp.preset('recommended') | ||||
|  | ||||
|         lsp.on_attach(function(client, bufnr) | ||||
|             -- see :help lsp-zero-keybindings | ||||
|             -- to learn the available actions | ||||
|             lsp.default_keymaps({buffer = bufnr}) | ||||
|         end) | ||||
|  | ||||
|         lsp.setup_servers({'ts_ls', 'eslint', 'html', 'hls', 'gopls'}) | ||||
|  | ||||
|         -- require("lspconfig").html.setup({ | ||||
|         --     filetypes = { "html", "htmldjango" }, | ||||
|         --     init_options = { | ||||
|         --         configurationSection = { "html", "css", "javascript" }, | ||||
|         --         embeddedLanguages = { | ||||
|         --             css = true, | ||||
|         --             javascript = true, | ||||
|         --         }, | ||||
|         --         provideFormatter = true, | ||||
|         --     }, | ||||
|         -- }) | ||||
|  | ||||
|         require('lspconfig').lua_ls.setup(lsp.nvim_lua_ls()) | ||||
|         lsp.set_sign_icons({ | ||||
|             error = '✘', | ||||
|             warn = '▲', | ||||
|             hint = '⚑', | ||||
|             info = '»' | ||||
|         }) | ||||
|         lsp.setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										11
									
								
								nvim/lua/olinpin/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								nvim/lua/olinpin/plugins/lualine.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| return { | ||||
|     'nvim-lualine/lualine.nvim', | ||||
|     requires = { 'nvim-tree/nvim-web-devicons', opt = true }, | ||||
|     config = function () | ||||
|         require('lualine').setup({ | ||||
|             options = { | ||||
|                 theme = 'ayu_mirage' | ||||
|             } | ||||
|         }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										6
									
								
								nvim/lua/olinpin/plugins/mason.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								nvim/lua/olinpin/plugins/mason.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| return { | ||||
| 	"williamboman/mason.nvim", | ||||
| 	config = function() | ||||
| 		require("mason").setup() | ||||
| 	end | ||||
| } | ||||
							
								
								
									
										33
									
								
								nvim/lua/olinpin/plugins/null-ls.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								nvim/lua/olinpin/plugins/null-ls.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| return { | ||||
|     "jay-babu/mason-null-ls.nvim", | ||||
|     event = { "BufReadPre", "BufNewFile" }, | ||||
|     dependencies = { | ||||
|         "williamboman/mason.nvim", | ||||
|         "jose-elias-alvarez/null-ls.nvim", | ||||
|     }, | ||||
|     config = function () | ||||
|  | ||||
|         require("mason-null-ls").setup({ | ||||
|             ensure_installed = { | ||||
|                 "stylua", | ||||
|                 "jq", | ||||
|                 "php-cs-fixer", | ||||
|                 "intelephense", | ||||
|                 "black", | ||||
|                 "prettier", | ||||
|             } | ||||
|         }) | ||||
|  | ||||
|         local null_ls = require("null-ls") | ||||
|         local format = null_ls.builtins.formatting | ||||
|  | ||||
|         null_ls.setup({ | ||||
|             sources = { | ||||
|                 format.black, | ||||
|                 format.stylua, | ||||
|                 format.prettier | ||||
|             } | ||||
|         }) | ||||
|         vim.keymap.set({"n", "x"}, "=", function() vim.cmd('LspZeroFormat') end, { desc = "Format" }) | ||||
|     end | ||||
| } | ||||
							
								
								
									
										7
									
								
								nvim/lua/olinpin/plugins/range-highlight.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nvim/lua/olinpin/plugins/range-highlight.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| return { | ||||
|     "winston0410/range-highlight.nvim", | ||||
|     dependencies = "winston0410/cmd-parser.nvim", | ||||
|     config = function () | ||||
|         require("range-highlight").setup() | ||||
|     end | ||||
| } | ||||
							
								
								
									
										4
									
								
								nvim/lua/olinpin/plugins/surround.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								nvim/lua/olinpin/plugins/surround.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| return { | ||||
|     "tpope/vim-surround", | ||||
|     event = "VeryLazy" | ||||
| } | ||||
							
								
								
									
										24
									
								
								nvim/lua/olinpin/plugins/tabline.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								nvim/lua/olinpin/plugins/tabline.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| return { | ||||
|   'kdheepak/tabline.nvim', | ||||
|   config = function() | ||||
|     require('tabline').setup({ | ||||
|       -- Defaults configuration options | ||||
|       enable = true, | ||||
|       options = { | ||||
|       -- If lualine is installed tabline will use separators configured in lualine by default. | ||||
|       -- These options can be used to override those settings. | ||||
|         section_separators = {'', ''}, | ||||
|         component_separators = {'', ''}, | ||||
|         max_bufferline_percent = 66, -- set to nil by default, and it uses vim.o.columns * 2/3 | ||||
|         show_tabs_always = true, -- this shows tabs only when there are more than one tab or if the first tab is named | ||||
|         show_devicons = true, -- this shows devicons in buffer section | ||||
|         show_bufnr = false, -- this appends [bufnr] to buffer section, | ||||
|         show_filename_only = true, -- shows base filename only instead of relative path in filename | ||||
|         modified_icon = "+ ", -- change the default modified icon | ||||
|         modified_italic = false, -- set to true by default; this determines whether the filename turns italic if modified | ||||
|         show_tabs_only = false, -- this shows only tabs instead of tabs + buffers | ||||
|       } | ||||
|     }) | ||||
|   end, | ||||
|   requires = { { 'hoob3rt/lualine.nvim', opt=true }, {'kyazdani42/nvim-web-devicons', opt = true} } | ||||
| } | ||||
							
								
								
									
										57
									
								
								nvim/lua/olinpin/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								nvim/lua/olinpin/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| local _bad = { ".*%.min.css", ".*%.min.js" } -- remove minified results crashing the previewer | ||||
| local bad_files = function(filepath) | ||||
| 	for _, v in ipairs(_bad) do | ||||
| 		if filepath:match(v) then | ||||
| 			return false | ||||
| 		end | ||||
| 	end | ||||
|  | ||||
| 	return true | ||||
| end | ||||
|  | ||||
| local new_maker = function(filepath, bufnr, opts) | ||||
| 	local previewers = require("telescope.previewers") | ||||
| 	opts = opts or {} | ||||
| 	if opts.use_ft_detect == nil then | ||||
| 		opts.use_ft_detect = true | ||||
| 	end | ||||
| 	opts.use_ft_detect = opts.use_ft_detect == false and false or bad_files(filepath) | ||||
| 	previewers.buffer_previewer_maker(filepath, bufnr, opts) | ||||
| end | ||||
|  | ||||
| return { | ||||
| 	"nvim-telescope/telescope.nvim", | ||||
| 	event = "VeryLazy", | ||||
| 	tag = "0.1.8", | ||||
| 	dependencies = { "nvim-lua/plenary.nvim" }, | ||||
| 	init = function() | ||||
| 		local builtin = require("telescope.builtin") | ||||
| 		local telescope = require("telescope") | ||||
|  | ||||
| 		telescope.setup({ | ||||
| 			defaults = { | ||||
| 				buffer_previewer_maker = new_maker, | ||||
| 			}, | ||||
| 			pickers = { | ||||
|                 find_files = { | ||||
|                     -- `hidden = true` will still show the inside of `.git/` as it's not `.gitignore`d. | ||||
|                     find_command = { "rg", "--files", "--hidden", "--no-ignore", | ||||
|                         "--glob", "!**/.git/*", "--glob", "!**/venv/*", "--glob", "!**/.venv/*", "--glob", | ||||
|                         "!**/node_modules/*", | ||||
|                         "--glob", "!**/vendor/*", "--glob", "!**/var/cache/*", | ||||
|                         "--glob", "!**/.next/*", "--glob", "!**/out/*", "--glob", "!**/dist/*", "--glob", "!**.min.js" | ||||
|                     }, | ||||
|                 }, | ||||
| 			}, | ||||
| 			preview = { | ||||
| 				filesize_limit = 0.5, -- MB | ||||
| 			}, | ||||
| 		}) | ||||
|         vim.keymap.set('n', '<leader>*', builtin.grep_string, {desc = "Grep current string"}) | ||||
|         vim.keymap.set('n', '<leader>ff', builtin.find_files, {desc = "Find files"}) | ||||
|         vim.keymap.set('n', '<leader>fg', builtin.git_branches, {desc = "Find Git branches" }) | ||||
|         vim.keymap.set('n', '<leader>fc', builtin.git_commits, {desc = "Find Commits" }) | ||||
|         vim.keymap.set('n', '<leader>fw', builtin.live_grep, {desc = "Find Words" }) | ||||
|  | ||||
| 	end, | ||||
| } | ||||
							
								
								
									
										9
									
								
								nvim/lua/olinpin/plugins/todo.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								nvim/lua/olinpin/plugins/todo.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| return { | ||||
|     "folke/todo-comments.nvim", | ||||
|     dependencies = { "nvim-lua/plenary.nvim" }, | ||||
|     opts = { | ||||
|         -- your configuration comes here | ||||
|         -- or leave it empty to use the default settings | ||||
|         -- refer to the configuration section below | ||||
|     } | ||||
| } | ||||
							
								
								
									
										58
									
								
								nvim/lua/olinpin/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								nvim/lua/olinpin/plugins/treesitter.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| return { | ||||
| 	'nvim-treesitter/nvim-treesitter', | ||||
|     event = "VeryLazy", | ||||
| 	cmd = 'TSUpdate', | ||||
| 	config = function() | ||||
| 		require'nvim-treesitter.configs'.setup { | ||||
| 			-- A list of parser names, or "all" (the five listed parsers should always be installed) | ||||
| 			ensure_installed = { | ||||
| 				"vimdoc", | ||||
| 				"bash", | ||||
| 				"css", | ||||
| 				"javascript", | ||||
| 				"python", | ||||
| 				"c", | ||||
| 				"lua", | ||||
| 				"vim", | ||||
| 				"vimdoc", | ||||
| 				"query", | ||||
| 				"go", | ||||
|                 "markdown", | ||||
|                 "markdown_inline", | ||||
|                 "regex", | ||||
|                 "swift", | ||||
|                 "php", | ||||
|                 "kotlin", | ||||
|                 "rust", | ||||
|                 "haskell", | ||||
|                 "html" | ||||
| 			}, | ||||
|  | ||||
| 			-- Install parsers synchronously (only applied to `ensure_installed`) | ||||
| 			sync_install = false, | ||||
|  | ||||
| 			-- Automatically install missing parsers when entering buffer | ||||
| 			-- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally | ||||
| 			auto_install = true, | ||||
|  | ||||
| 			highlight = { | ||||
| 				enable = true, | ||||
|  | ||||
| 				-- Setting this to true will run `:h syntax` and tree-sitter at the same time. | ||||
| 				-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). | ||||
| 				-- Using this option may slow down your editor, and you may see some duplicate highlights. | ||||
| 				-- Instead of true it can also be a list of languages | ||||
| 				additional_vim_regex_highlighting = {"markdown"} | ||||
| 			}, | ||||
|         } | ||||
|         require'lspconfig'.sourcekit.setup{ | ||||
|             cmd = {'/usr/bin/sourcekit-lsp'} | ||||
|         } | ||||
|         require('lspconfig')['hls'].setup{ | ||||
|             filetypes = { 'haskell', 'lhaskell', 'cabal' }, | ||||
|         } | ||||
|  | ||||
|         -- vim.keymap.set('n','gd',vim.lsp.buf.definition) | ||||
|     end | ||||
|  | ||||
| } | ||||
							
								
								
									
										22
									
								
								nvim/lua/olinpin/plugins/trouble.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								nvim/lua/olinpin/plugins/trouble.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| return { | ||||
|     "folke/trouble.nvim", | ||||
|     dependencies = { "nvim-tree/nvim-web-devicons" }, | ||||
|     opts = { | ||||
|         -- your configuration comes here | ||||
|         -- or leave it empty to use the default settings | ||||
|         -- refer to the configuration section below | ||||
|     }, | ||||
|     event = "VeryLazy", | ||||
|     keys = { | ||||
|         { | ||||
|             "<C-t>", | ||||
|             "<cmd>Trouble diagnostics toggle<cr>", | ||||
|             desc = "Diagnostics (Trouble)", | ||||
|         }, | ||||
|         { | ||||
|             "<C-T>", | ||||
|             "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", | ||||
|             desc = "Buffer Diagnostics (Trouble)", | ||||
|         }, | ||||
|     } | ||||
| } | ||||
							
								
								
									
										7
									
								
								nvim/lua/olinpin/plugins/undotree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								nvim/lua/olinpin/plugins/undotree.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| return { | ||||
| 	'mbbill/undotree', | ||||
|     event = "VeryLazy", | ||||
| 	init = function() | ||||
| 		vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle) | ||||
| 	end | ||||
| } | ||||
							
								
								
									
										3
									
								
								nvim/lua/olinpin/plugins/vinegar.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								nvim/lua/olinpin/plugins/vinegar.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| return { | ||||
|     "tpope/vim-vinegar" | ||||
| } | ||||
							
								
								
									
										32
									
								
								nvim/lua/olinpin/plugins/which-key.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								nvim/lua/olinpin/plugins/which-key.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| return { | ||||
| 	"folke/which-key.nvim", | ||||
| 	event = "VeryLazy", | ||||
| 	init = function() | ||||
| 		-- vim.o.timeout = true | ||||
| 		vim.o.timeoutlen = 500 | ||||
| 	end, | ||||
| 	config = function() | ||||
| 		local wk = require("which-key") | ||||
| 		wk.add({ | ||||
| 			{ "<leader>1", desc = "Openf harpoon buffer 1" }, | ||||
| 			{ "<leader>2", hidden = true }, | ||||
| 			{ "<leader>3", hidden = true }, | ||||
| 			{ "<leader>4", hidden = true }, | ||||
| 			{ "<leader>5", hidden = true }, | ||||
| 			{ "<leader>6", hidden = true }, | ||||
| 			{ "<leader>7", hidden = true }, | ||||
| 			{ "<leader>8", hidden = true }, | ||||
| 			{ "<leader>9", hidden = true }, | ||||
| 			{ "<leader>a", desc = "Add file to harpoon" }, | ||||
| 			{ "<leader>dd", desc = "duck hatch" }, | ||||
| 			{ "<leader>dk", desc = "duck cook" }, | ||||
| 			{ "<leader>f", group = "Find" }, | ||||
| 			{ "<leader>g", group = "Git" }, | ||||
| 			{ "<leader>gs", desc = "Open Git status" }, | ||||
| 			{ "<leader>h", desc = "Open Harpoon quick menu" }, | ||||
| 			{ "<leader>u", desc = "Toggle Undotree" }, | ||||
| 			{ "<leader>w", desc = "Replace all current words" }, | ||||
| 			{ "<leader>x", desc = "Close and remove buffer from harpoon" }, | ||||
| 		}) | ||||
| 	end, | ||||
| } | ||||
							
								
								
									
										80
									
								
								nvim/lua/olinpin/remap.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										80
									
								
								nvim/lua/olinpin/remap.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,80 @@ | ||||
| vim.keymap.set("n", "<C-n>", vim.cmd.Ex, { desc = "Open explorer" }) | ||||
| vim.keymap.set("n", ";", ":") | ||||
|  | ||||
|  | ||||
| -- window nav remaps | ||||
| vim.keymap.set("n", "<C-h>", "<C-w>h", { desc = "Move window left" }) | ||||
| vim.keymap.set("n", "<C-j>", "<C-w>j", { desc = "Move window down" }) | ||||
| vim.keymap.set("n", "<C-k>", "<C-w>k", { desc = "Move window up" }) | ||||
| vim.keymap.set("n", "<C-l>", "<C-w>l", { desc = "Move window right" }) | ||||
|  | ||||
| -- window split remaps | ||||
|  | ||||
| -- move selected lines | ||||
| vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv", { desc = "Move selected down" }) | ||||
| vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv", { desc = "Move selected up" }) | ||||
|  | ||||
| -- keep cursor in middle when searching | ||||
| vim.keymap.set("n", "n", "nzzzv") | ||||
| vim.keymap.set("n", "N", "Nzzzv") | ||||
|  | ||||
|  | ||||
| -- keep copied text when pasting over selected text | ||||
| vim.keymap.set("x", "<leader>p", "\"_dP", { desc = "Paste over selected text" }) | ||||
|  | ||||
| -- replace the word you're on everywhere in buffer | ||||
| vim.keymap.set("n", "<leader>w", ":%s/\\<<C-r><C-w>\\>/<C-r><C-w>/gI<Left><Left><Left>", { desc = "Replace word" }) | ||||
|  | ||||
|  | ||||
| -- move within insert mode | ||||
| -- go to  beginning and end | ||||
| vim.keymap.set("i", "<C-b>", "<ESC>^i", { desc = "Beginning of line" }) | ||||
| vim.keymap.set("i", "<C-e>", "<End>", { desc = "End of line" }) | ||||
|  | ||||
| -- navigate within insert mode | ||||
| vim.keymap.set("i", "<C-h>", "<Left>", { desc = "Move left" }) | ||||
| vim.keymap.set("i", "<C-l>", "<Right>", { desc = "Move right" }) | ||||
| vim.keymap.set("i", "<C-j>", "<Down>", { desc = "Move down" }) | ||||
| vim.keymap.set("i", "<C-k>", "<Up>", { desc = "Move up" }) | ||||
|  | ||||
| vim.keymap.set("x", "Y", "\"*y", { desc = "Copy to clipboard" }) -- copy to clipboard | ||||
|  | ||||
| vim.keymap.set("n", "<ESC>", "<ESC>:noh<CR>", { desc = "Clear highlights" }) | ||||
|  | ||||
| -- copy file path | ||||
| vim.keymap.set("n", "<leader>cfp", [[:let @+ = expand("%:p")<CR>]], { desc = "Copy file path" }) | ||||
|  | ||||
| vim.keymap.set("n", "ff", "za", { desc = "Fold" }) | ||||
|  | ||||
| -- remap parentheses to add end parenthese | ||||
| -- vim.keymap.set("i", "(", "()<Left>") | ||||
| -- vim.keymap.set("i", "{", "{}<Left>") | ||||
| -- vim.keymap.set("i", "[", "[]<Left>") | ||||
|  | ||||
| -- remap to add end quotes | ||||
| -- vim.keymap.set("i", "'", "''<Left>") | ||||
| -- vim.keymap.set("i", "\"", "\"\"<Left>") | ||||
| -- vim.keymap.set("i", "`", "``<Left>") | ||||
|  | ||||
| -- remove mappings for avante | ||||
| -- vim.keymap.del("n", "<leader>aa") | ||||
| -- vim.keymap.del("v", "<leader>aa") | ||||
| -- vim.keymap.del("n", "<leader>ar") | ||||
| -- vim.keymap.del("v", "<leader>ae") | ||||
| -- vim.keymap.del("n", "<leader>ah") | ||||
| -- vim.keymap.del("n", "<leader>ad") | ||||
|  | ||||
| -- remove mappings from which-key | ||||
| -- local wk = require("which-key") | ||||
| -- wk.add({ | ||||
| --     { "<leader>aa", hidden = true }, | ||||
| --     { "<leader>ad", hidden = true }, | ||||
| --     { "<leader>ae", hidden = true }, | ||||
| --     { "<leader>ah", hidden = true }, | ||||
| --     { "<leader>ar", hidden = true }, | ||||
| -- }) | ||||
|  | ||||
|  | ||||
|  | ||||
| vim.api.nvim_set_keymap("n", "<leader>ys", "<Plug>Ysurround", {}) | ||||
|  | ||||
							
								
								
									
										44
									
								
								nvim/lua/olinpin/set.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								nvim/lua/olinpin/set.lua
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| -- keep cursor in middle | ||||
| vim.o.scrolloff = 800 | ||||
| -- keep cursor on the left | ||||
| vim.o.sidescrolloff = 30 | ||||
| -- set relative line numbering | ||||
| vim.opt.nu = true | ||||
| vim.wo.relativenumber = true | ||||
| -- turn off line wrap | ||||
| vim.wo.wrap = false | ||||
| -- make commands case insensitive | ||||
| vim.o.ignorecase = true | ||||
|  | ||||
| -- indenting | ||||
| vim.opt.tabstop = 4 | ||||
| vim.opt.softtabstop = 4 | ||||
| vim.opt.shiftwidth = 4 | ||||
| vim.opt.expandtab = true | ||||
| vim.opt.smartindent = true | ||||
|  | ||||
|  | ||||
| -- use undotree instead of vim backups | ||||
| vim.opt.swapfile = false | ||||
| vim.opt.backup = false | ||||
| vim.undodir = os.getenv("HOME") .. "/.vim/undodir" | ||||
| vim.opt.undofile = true | ||||
|  | ||||
| -- make vim update fast | ||||
| vim.opt.updatetime = 50 | ||||
|  | ||||
|  | ||||
| -- vim.opt.colorcolumn = "80" | ||||
|  | ||||
| vim.g.mapleader = " " | ||||
|  | ||||
| vim.opt.signcolumn = "yes" | ||||
|  | ||||
| vim.opt.termguicolors = true | ||||
|  | ||||
| vim.opt.fillchars = { fold = " " } | ||||
| vim.opt.foldmethod = "indent" | ||||
| vim.opt.foldenable = false | ||||
| vim.opt.foldlevel = 99 | ||||
| -- g.markdown_folding = 1 -- enable markdown folding | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Oliver
					Oliver