switched over to lazy for nvim plugins.
This commit is contained in:
		
							parent
							
								
									48cd968cd6
								
							
						
					
					
						commit
						337ef885aa
					
				
					 4 changed files with 212 additions and 449 deletions
				
			
		| 
						 | 
				
			
			@ -160,7 +160,7 @@ font_family Cascadia Code
 | 
			
		|||
#: suffix px for pixels or % for percentage of original value. No
 | 
			
		||||
#: suffix means use pts. For example::
 | 
			
		||||
 | 
			
		||||
#:     modify_font underline_position -2
 | 
			
		||||
 modify_font underline_position 2
 | 
			
		||||
#:     modify_font underline_thickness 150%
 | 
			
		||||
#:     modify_font strikethrough_position 2px
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,13 +3,10 @@ local cmd = vim.cmd
 | 
			
		|||
local opt = vim.opt
 | 
			
		||||
local fn = vim.fn
 | 
			
		||||
local map = vim.keymap.set
 | 
			
		||||
local wk = require("which-key")
 | 
			
		||||
 | 
			
		||||
--leader key is set through a variable, for some reason.
 | 
			
		||||
vim.g.mapleader = ';'
 | 
			
		||||
 | 
			
		||||
--this plugin makes startup time a bit faster. To bootsrap configuration, you need to comment this one out, ignore any errors you get, do packersync, then uncomment it.
 | 
			
		||||
require('impatient')
 | 
			
		||||
--do package management
 | 
			
		||||
require('packages')
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -18,6 +15,8 @@ local function keyCode(string)
 | 
			
		|||
	return vim.api.nvim_replace_termcodes(str, true, true, true, true)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local wk = require("which-key")
 | 
			
		||||
 | 
			
		||||
--options using vim.opt (aliased, of course.)
 | 
			
		||||
opt.mouse = 'a'
 | 
			
		||||
opt.lazyredraw = true
 | 
			
		||||
| 
						 | 
				
			
			@ -117,7 +116,7 @@ map('n', '<leader>t', ':NvimTreeToggle<CR>', optsWithDesc("toggle file browser")
 | 
			
		|||
--open symbols-outline with leader+o
 | 
			
		||||
map('n', '<leader>o', ':SymbolsOutline<CR>', optsWithDesc("toggle LSP symbol outline"))
 | 
			
		||||
--telescope stuff
 | 
			
		||||
--setup leader-f prefix in whitch-key
 | 
			
		||||
-- setup leader-f prefix in whitch-key
 | 
			
		||||
wk.register {
 | 
			
		||||
	["<leader>f"]={
 | 
			
		||||
		name="+telescope"
 | 
			
		||||
| 
						 | 
				
			
			@ -143,19 +142,6 @@ map('n', 'gf', ':TablineBufferNext<CR>', optsWithDesc("next buffer"))
 | 
			
		|||
map('n', 'gF', ':TablineBufferPrevious<CR>', optsWithDesc("prev buffer"))
 | 
			
		||||
--gitsigns
 | 
			
		||||
map('n', '<leader>bl', ':Gitsigns toggle_current_line_blame<CR>', optsWithDesc("toggle inline git blame"))
 | 
			
		||||
--trouble plugin.
 | 
			
		||||
wk.register {
 | 
			
		||||
	["<leader>x"]={
 | 
			
		||||
		name="+trouble"
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
map("n", "<leader>xx", "<cmd>TroubleToggle<cr>", optsWithDesc("toggle trouble"))
 | 
			
		||||
map("n", "<leader>xw", "<cmd>TroubleToggle workspace_diagnostics<cr>", optsWithDesc("workspace diagnostics"))
 | 
			
		||||
map("n", "<leader>xd", "<cmd>TroubleToggle document_diagnostics<cr>", optsWithDesc("document diagnostics"))
 | 
			
		||||
map("n", "<leader>xl", "<cmd>TroubleToggle loclist<cr>", optsWithDesc("location list"))
 | 
			
		||||
map("n", "<leader>xq", "<cmd>TroubleToggle quickfix<cr>", optsWithDesc("quickfix list"))
 | 
			
		||||
map("n", "<leader>lR", "<cmd>TroubleToggle lsp_references<cr>", optsWithDesc("lsp references"))
 | 
			
		||||
map("n", "<leader>lD", "<cmd>TroubleToggle lsp_definitions<cr>", optsWithDesc("lsp definitions"))
 | 
			
		||||
-- toggle keymappings for venn using <leader>v
 | 
			
		||||
map('n', '<leader>v', ":lua Toggle_venn()<CR>", optsWithDesc("toggle venn.nvim"))
 | 
			
		||||
-- treesj
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,23 +1,23 @@
 | 
			
		|||
-- bootstrapping packer
 | 
			
		||||
local fn = vim.fn
 | 
			
		||||
local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim'
 | 
			
		||||
if fn.empty(fn.glob(install_path)) > 0 then
 | 
			
		||||
	Packer_Bootstrap = fn.system({ 'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim',
 | 
			
		||||
		install_path })
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
return require('packer').startup(function(use)
 | 
			
		||||
	--startup speed
 | 
			
		||||
	use 'lewis6991/impatient.nvim'
 | 
			
		||||
 | 
			
		||||
	--base plugins.
 | 
			
		||||
 | 
			
		||||
	use 'wbthomason/packer.nvim'
 | 
			
		||||
 | 
			
		||||
	use { 'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
		run = ':TSUpdate',
 | 
			
		||||
require('lazy').setup({
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
		build = ':TSUpdate',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('nvim-treesitter').setup {
 | 
			
		||||
			local configs = require('nvim-treesitter.configs')
 | 
			
		||||
			configs.setup {
 | 
			
		||||
				ensure_installed = {
 | 
			
		||||
					'c',
 | 
			
		||||
					'lua',
 | 
			
		||||
| 
						 | 
				
			
			@ -48,54 +48,54 @@ return require('packer').startup(function(use)
 | 
			
		|||
				incremental_selection = { enable = true }
 | 
			
		||||
			}
 | 
			
		||||
		end,
 | 
			
		||||
	}
 | 
			
		||||
	use {
 | 
			
		||||
		{
 | 
			
		||||
			"williamboman/mason.nvim",
 | 
			
		||||
			config = function()
 | 
			
		||||
				require("mason").setup({
 | 
			
		||||
					ui = {
 | 
			
		||||
						icons = {
 | 
			
		||||
							package_installed = "✓",
 | 
			
		||||
							package_pending = "➜",
 | 
			
		||||
							package_uninstalled = "✗"
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
			end
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"williamboman/mason-lspconfig.nvim",
 | 
			
		||||
			after = "mason.nvim",
 | 
			
		||||
			config = function()
 | 
			
		||||
				require("mason-lspconfig").setup({
 | 
			
		||||
					ensure_installed = {
 | 
			
		||||
						'lua_ls',
 | 
			
		||||
						'rust_analyzer',
 | 
			
		||||
						'pyright',
 | 
			
		||||
						'bashls',
 | 
			
		||||
						'pylsp', -- run PylspInstall pylsp-rope python-lsp-black python-lsp-ruff
 | 
			
		||||
						'pyright',
 | 
			
		||||
						'texlab',
 | 
			
		||||
						'clangd',
 | 
			
		||||
					},
 | 
			
		||||
					automatic_installation = true
 | 
			
		||||
				})
 | 
			
		||||
			end
 | 
			
		||||
		},
 | 
			
		||||
		{
 | 
			
		||||
			"neovim/nvim-lspconfig",
 | 
			
		||||
			after = { "mason-lspconfig.nvim", "rust-tools.nvim" },
 | 
			
		||||
			config = function()
 | 
			
		||||
				require('LSPconfig')
 | 
			
		||||
			end
 | 
			
		||||
		},
 | 
			
		||||
		{ 'simrat39/rust-tools.nvim', },
 | 
			
		||||
		{ 'mfussenegger/nvim-jdtls', },
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'hrsh7th/nvim-cmp',
 | 
			
		||||
		requires = {
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'williamboman/mason.nvim',
 | 
			
		||||
		opts = {
 | 
			
		||||
			ui = {
 | 
			
		||||
				icons = {
 | 
			
		||||
					package_installed = "✓",
 | 
			
		||||
					package_pending = "➜",
 | 
			
		||||
					package_uninstalled = "✗"
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"williamboman/mason-lspconfig.nvim",
 | 
			
		||||
		config = function()
 | 
			
		||||
			require("mason-lspconfig").setup({
 | 
			
		||||
				ensure_installed = {
 | 
			
		||||
					'lua_ls',
 | 
			
		||||
					'rust_analyzer',
 | 
			
		||||
					'bashls',
 | 
			
		||||
					'pylsp', -- run PylspInstall pylsp-rope python-lsp-black python-lsp-ruff
 | 
			
		||||
					'pyright',
 | 
			
		||||
					'texlab',
 | 
			
		||||
					'clangd',
 | 
			
		||||
				},
 | 
			
		||||
				automatic_installation = true
 | 
			
		||||
			})
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"neovim/nvim-lspconfig",
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('LSPconfig')
 | 
			
		||||
		end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'simrat39/rust-tools.nvim',
 | 
			
		||||
		-- config = function()
 | 
			
		||||
		-- 	require('rust-tools-setup')
 | 
			
		||||
		-- end
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'hrsh7th/nvim-cmp',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('rust-tools-setup')
 | 
			
		||||
		end,
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			'neovim/nvim-lspconfig',
 | 
			
		||||
			'hrsh7th/cmp-nvim-lsp',
 | 
			
		||||
			'saadparwaiz1/cmp_luasnip',
 | 
			
		||||
| 
						 | 
				
			
			@ -110,239 +110,41 @@ return require('packer').startup(function(use)
 | 
			
		|||
			'hrsh7th/cmp-emoji',
 | 
			
		||||
			'ray-x/cmp-treesitter',
 | 
			
		||||
			'uga-rosa/cmp-dictionary',
 | 
			
		||||
		},
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('cmp-lsp')
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'L3MON4D3/LuaSnip',
 | 
			
		||||
		requires = {
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'L3MON4D3/LuaSnip',
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			'rafamadriz/friendly-snippets'
 | 
			
		||||
		},
 | 
			
		||||
		config = function()
 | 
			
		||||
			require("luasnip.loaders.from_snipmate").load()
 | 
			
		||||
			require("luasnip.loaders.from_vscode").load()
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'nvim-telescope/telescope.nvim',
 | 
			
		||||
		requires = {
 | 
			
		||||
			{ 'nvim-lua/plenary.nvim' },
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-telescope/telescope.nvim',
 | 
			
		||||
		config = true,
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			{ 'nvim-lua/popup.nvim' },
 | 
			
		||||
			{ 'nvim-treesitter/nvim-treesitter' },
 | 
			
		||||
			{ 'nvim-telescope/telescope-symbols.nvim' },
 | 
			
		||||
			{ 'nvim-telescope/telescope-file-browser.nvim' },
 | 
			
		||||
			{ 'folke/trouble.nvim' },
 | 
			
		||||
		},
 | 
			
		||||
		config = function()
 | 
			
		||||
			local trouble = require("trouble.providers.telescope")
 | 
			
		||||
			require('telescope').setup {
 | 
			
		||||
				defaults = {
 | 
			
		||||
					mappings = {
 | 
			
		||||
						i = { ["<c-t>"] = trouble.open_with_trouble },
 | 
			
		||||
						n = { ["<c-t>"] = trouble.open_with_trouble },
 | 
			
		||||
					},
 | 
			
		||||
				},
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'folke/trouble.nvim',
 | 
			
		||||
		requires = "kyazdani42/nvim-web-devicons",
 | 
			
		||||
		config = function()
 | 
			
		||||
			require("trouble").setup {
 | 
			
		||||
				position = "bottom", -- position of the list can be: bottom, top, left, right
 | 
			
		||||
				height = 10, -- height of the trouble list when position is top or bottom
 | 
			
		||||
				width = 50, -- width of the list when position is left or right
 | 
			
		||||
				icons = true, -- use devicons for filenames
 | 
			
		||||
				mode = "workspace_diagnostics", -- "workspace_diagnostics", "document_diagnostics", "quickfix", "lsp_references", "loclist"
 | 
			
		||||
				fold_open = "", -- icon used for open folds
 | 
			
		||||
				fold_closed = "", -- icon used for closed folds
 | 
			
		||||
				group = true, -- group results by file
 | 
			
		||||
				padding = true, -- add an extra new line on top of the list
 | 
			
		||||
				action_keys = {
 | 
			
		||||
					-- key mappings for actions in the trouble list
 | 
			
		||||
					-- map to {} to remove a mapping, for example:
 | 
			
		||||
					-- close = {},
 | 
			
		||||
					close = "q",              -- close the list
 | 
			
		||||
					cancel = "<esc>",         -- cancel the preview and get back to your last window / buffer / cursor
 | 
			
		||||
					refresh = "r",            -- manually refresh
 | 
			
		||||
					jump = { "<cr>", "<tab>" }, -- jump to the diagnostic or open / close folds
 | 
			
		||||
					open_split = { "<c-x>" }, -- open buffer in new split
 | 
			
		||||
					open_vsplit = { "<c-v>" }, -- open buffer in new vsplit
 | 
			
		||||
					open_tab = { "<c-t>" },   -- open buffer in new tab
 | 
			
		||||
					jump_close = { "o" },     -- jump to the diagnostic and close the list
 | 
			
		||||
					toggle_mode = "m",        -- toggle between "workspace" and "document" diagnostics mode
 | 
			
		||||
					toggle_preview = "P",     -- toggle auto_preview
 | 
			
		||||
					hover = "K",              -- opens a small popup with the full multiline message
 | 
			
		||||
					preview = "p",            -- preview the diagnostic location
 | 
			
		||||
					close_folds = { "zM", "zm" }, -- close all folds
 | 
			
		||||
					open_folds = { "zR", "zr" }, -- open all folds
 | 
			
		||||
					toggle_fold = { "zA", "za", '<space>' }, -- toggle fold of current file
 | 
			
		||||
					previous = "k",           -- previous item
 | 
			
		||||
					next = "j"                -- next item
 | 
			
		||||
				},
 | 
			
		||||
				indent_lines = true,          -- add an indent guide below the fold icons
 | 
			
		||||
				auto_open = false,            -- automatically open the list when you have diagnostics
 | 
			
		||||
				auto_close = false,           -- automatically close the list when you have no diagnostics
 | 
			
		||||
				auto_preview = true,          -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window
 | 
			
		||||
				auto_fold = false,            -- automatically fold a file trouble list at creation
 | 
			
		||||
				auto_jump = { "lsp_definitions" }, -- for the given modes, automatically jump if there is only a single result
 | 
			
		||||
				signs = {
 | 
			
		||||
					-- icons / text used for a diagnostic
 | 
			
		||||
					error = "",
 | 
			
		||||
					warning = "",
 | 
			
		||||
					hint = "",
 | 
			
		||||
					information = "",
 | 
			
		||||
					other = ""
 | 
			
		||||
				},
 | 
			
		||||
				use_diagnostic_signs = false -- enabling this will use the signs defined in your lsp client
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use {
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"folke/todo-comments.nvim",
 | 
			
		||||
		requires = { "nvim-lua/plenary.nvim" },
 | 
			
		||||
		config = function()
 | 
			
		||||
			local opts = {
 | 
			
		||||
				-- your configuration comes here
 | 
			
		||||
				-- or leave it empty to use the default settings
 | 
			
		||||
			}
 | 
			
		||||
			require("todo-comments").setup(opts)
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	--file browser
 | 
			
		||||
	use { 'kyazdani42/nvim-tree.lua',
 | 
			
		||||
		requires = {
 | 
			
		||||
		dependencies = { "nvim-lua/plenary.nvim" },
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'kyazdani42/nvim-tree.lua',
 | 
			
		||||
		config = true,
 | 
			
		||||
		dependencies = {
 | 
			
		||||
			'kyazdani42/nvim-web-devicons', -- optional, for file icon
 | 
			
		||||
		},
 | 
			
		||||
		config = function()
 | 
			
		||||
			require 'nvim-tree'.setup {
 | 
			
		||||
 | 
			
		||||
				on_attach = function(bufnr)
 | 
			
		||||
					local api = require('nvim-tree.api')
 | 
			
		||||
 | 
			
		||||
					local function opts(desc)
 | 
			
		||||
						return {
 | 
			
		||||
							desc = 'nvim-tree: ' .. desc,
 | 
			
		||||
							buffer = bufnr,
 | 
			
		||||
							noremap = true,
 | 
			
		||||
							silent = true,
 | 
			
		||||
							nowait = true
 | 
			
		||||
						}
 | 
			
		||||
					end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
					-- Default mappings. Feel free to modify or remove as you wish.
 | 
			
		||||
					--
 | 
			
		||||
					-- BEGIN_DEFAULT_ON_ATTACH
 | 
			
		||||
					vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
 | 
			
		||||
					vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
 | 
			
		||||
					vim.keymap.set('n', '<C-k>', api.node.show_info_popup, opts('Info'))
 | 
			
		||||
					vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
 | 
			
		||||
					vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
 | 
			
		||||
					vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
 | 
			
		||||
					vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
 | 
			
		||||
					vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
 | 
			
		||||
					vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
 | 
			
		||||
					vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
 | 
			
		||||
					vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
 | 
			
		||||
					vim.keymap.set('n', '.', api.node.run.cmd, opts('Run Command'))
 | 
			
		||||
					vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
 | 
			
		||||
					vim.keymap.set('n', 'a', api.fs.create, opts('Create'))
 | 
			
		||||
					vim.keymap.set('n', 'bmv', api.marks.bulk.move, opts('Move Bookmarked'))
 | 
			
		||||
					vim.keymap.set('n', 'B', api.tree.toggle_no_buffer_filter, opts('Toggle No Buffer'))
 | 
			
		||||
					vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
 | 
			
		||||
					vim.keymap.set('n', 'C', api.tree.toggle_git_clean_filter, opts('Toggle Git Clean'))
 | 
			
		||||
					vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
 | 
			
		||||
					vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
 | 
			
		||||
					vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
 | 
			
		||||
					vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
 | 
			
		||||
					vim.keymap.set('n', 'E', api.tree.expand_all, opts('Expand All'))
 | 
			
		||||
					vim.keymap.set('n', 'e', api.fs.rename_basename, opts('Rename: Basename'))
 | 
			
		||||
					vim.keymap.set('n', ']e', api.node.navigate.diagnostics.next, opts('Next Diagnostic'))
 | 
			
		||||
					vim.keymap.set('n', '[e', api.node.navigate.diagnostics.prev, opts('Prev Diagnostic'))
 | 
			
		||||
					vim.keymap.set('n', 'F', api.live_filter.clear, opts('Clean Filter'))
 | 
			
		||||
					vim.keymap.set('n', 'f', api.live_filter.start, opts('Filter'))
 | 
			
		||||
					vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
 | 
			
		||||
					vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
 | 
			
		||||
					vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles'))
 | 
			
		||||
					vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Git Ignore'))
 | 
			
		||||
					vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
 | 
			
		||||
					vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
 | 
			
		||||
					vim.keymap.set('n', 'm', api.marks.toggle, opts('Toggle Bookmark'))
 | 
			
		||||
					vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
 | 
			
		||||
					vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
 | 
			
		||||
					vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
 | 
			
		||||
					vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
 | 
			
		||||
					vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
 | 
			
		||||
					vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
 | 
			
		||||
					vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
 | 
			
		||||
					vim.keymap.set('n', 'S', api.tree.search_node, opts('Search'))
 | 
			
		||||
					vim.keymap.set('n', 'U', api.tree.toggle_custom_filter, opts('Toggle Hidden'))
 | 
			
		||||
					vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
 | 
			
		||||
					vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
 | 
			
		||||
					vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
 | 
			
		||||
					vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
 | 
			
		||||
					vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
 | 
			
		||||
					-- END_DEFAULT_ON_ATTACH
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
					-- Mappings migrated from view.mappings.list
 | 
			
		||||
					--
 | 
			
		||||
					-- You will need to insert "your code goes here" for any mappings with a custom action_cb
 | 
			
		||||
					vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
 | 
			
		||||
					vim.keymap.set('n', '<C-e>', api.node.open.replace_tree_buffer, opts('Open: In Place'))
 | 
			
		||||
					vim.keymap.set('n', 'O', api.node.open.no_window_picker, opts('Open: No Window Picker'))
 | 
			
		||||
					vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
 | 
			
		||||
					vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
 | 
			
		||||
					vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
 | 
			
		||||
					vim.keymap.set('n', '<C-x>', api.node.open.horizontal, opts('Open: Horizontal Split'))
 | 
			
		||||
					vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
 | 
			
		||||
					vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
 | 
			
		||||
					vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
 | 
			
		||||
					vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
 | 
			
		||||
					vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
 | 
			
		||||
					vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
 | 
			
		||||
					vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
 | 
			
		||||
					vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
 | 
			
		||||
					vim.keymap.set('n', 'I', api.tree.toggle_gitignore_filter, opts('Toggle Git Ignore'))
 | 
			
		||||
					vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles'))
 | 
			
		||||
					vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
 | 
			
		||||
					vim.keymap.set('n', 'a', api.fs.create, opts('Create'))
 | 
			
		||||
					vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
 | 
			
		||||
					vim.keymap.set('n', 'D', api.fs.trash, opts('Trash'))
 | 
			
		||||
					vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
 | 
			
		||||
					vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
 | 
			
		||||
					vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
 | 
			
		||||
					vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
 | 
			
		||||
					vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
 | 
			
		||||
					vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
 | 
			
		||||
					vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
 | 
			
		||||
					vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
 | 
			
		||||
					vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
 | 
			
		||||
					vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
 | 
			
		||||
					vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
 | 
			
		||||
					vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
 | 
			
		||||
					vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
 | 
			
		||||
					vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
 | 
			
		||||
					vim.keymap.set('n', 'W', api.tree.collapse_all, opts('Collapse'))
 | 
			
		||||
				end,
 | 
			
		||||
				-- on_attach = on_attach
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use {
 | 
			
		||||
		"folke/which-key.nvim",
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'folke/which-key.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.o.timeout = true
 | 
			
		||||
			vim.o.timeoutlen = 300
 | 
			
		||||
| 
						 | 
				
			
			@ -361,81 +163,74 @@ return require('packer').startup(function(use)
 | 
			
		|||
				-- local wk = require("which-key")
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	--UI stuff
 | 
			
		||||
 | 
			
		||||
	use { "akinsho/toggleterm.nvim", tag = '*', config = function()
 | 
			
		||||
		require("toggleterm").setup {
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"akinsho/toggleterm.nvim",
 | 
			
		||||
		opts = {
 | 
			
		||||
			insert_mappings = false,
 | 
			
		||||
			terminal_mappings = false,
 | 
			
		||||
			open_mapping = [[<c-\>]],
 | 
			
		||||
		}
 | 
			
		||||
	end }
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'simrat39/symbols-outline.nvim',
 | 
			
		||||
		opts = {
 | 
			
		||||
			highlight_hovered_item = true,
 | 
			
		||||
			show_guides = true,
 | 
			
		||||
			auto_preview = false,
 | 
			
		||||
			position = 'right',
 | 
			
		||||
			relative_width = true,
 | 
			
		||||
			width = 30,
 | 
			
		||||
			auto_close = false,
 | 
			
		||||
			show_numbers = false,
 | 
			
		||||
			show_relative_numbers = false,
 | 
			
		||||
			show_symbol_details = true,
 | 
			
		||||
			preview_bg_highlight = 'Pmenu',
 | 
			
		||||
			autofold_depth = nil,
 | 
			
		||||
			auto_unfold_hover = true,
 | 
			
		||||
			fold_markers = { '', '' },
 | 
			
		||||
			wrap = false,
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'stevearc/dressing.nvim',
 | 
			
		||||
		config = true,
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'nvim-lualine/lualine.nvim',
 | 
			
		||||
		dependencies = { 'kyazdani42/nvim-web-devicons' },
 | 
			
		||||
		opts = {
 | 
			
		||||
			options = {
 | 
			
		||||
				icons_enabled = true,
 | 
			
		||||
				theme = 'auto',
 | 
			
		||||
				component_separators = { left = '', right = '' },
 | 
			
		||||
				section_separators = { left = '', right = '' },
 | 
			
		||||
				disabled_filetypes = {},
 | 
			
		||||
				always_divide_middle = true,
 | 
			
		||||
			},
 | 
			
		||||
			sections = {
 | 
			
		||||
				lualine_a = { 'mode' },
 | 
			
		||||
				lualine_b = { 'branch', 'diff', 'diagnostics' },
 | 
			
		||||
				lualine_c = { 'filename' },
 | 
			
		||||
				lualine_x = { 'encoding', 'fileformat', 'filetype' },
 | 
			
		||||
				lualine_y = { 'progress' },
 | 
			
		||||
				lualine_z = { 'location' }
 | 
			
		||||
			},
 | 
			
		||||
			inactive_sections = {
 | 
			
		||||
				lualine_a = {},
 | 
			
		||||
				lualine_b = {},
 | 
			
		||||
				lualine_c = { 'filename' },
 | 
			
		||||
				lualine_x = { 'location' },
 | 
			
		||||
				lualine_y = {},
 | 
			
		||||
				lualine_z = {}
 | 
			
		||||
			},
 | 
			
		||||
			extensions = {}
 | 
			
		||||
		},
 | 
			
		||||
 | 
			
		||||
	use { 'simrat39/symbols-outline.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			local opts = {
 | 
			
		||||
				highlight_hovered_item = true,
 | 
			
		||||
				show_guides = true,
 | 
			
		||||
				auto_preview = false,
 | 
			
		||||
				position = 'right',
 | 
			
		||||
				relative_width = true,
 | 
			
		||||
				width = 30,
 | 
			
		||||
				auto_close = false,
 | 
			
		||||
				show_numbers = false,
 | 
			
		||||
				show_relative_numbers = false,
 | 
			
		||||
				show_symbol_details = true,
 | 
			
		||||
				preview_bg_highlight = 'Pmenu',
 | 
			
		||||
				autofold_depth = nil,
 | 
			
		||||
				auto_unfold_hover = true,
 | 
			
		||||
				fold_markers = { '', '' },
 | 
			
		||||
				wrap = false,
 | 
			
		||||
			}
 | 
			
		||||
			require("symbols-outline").setup(opts)
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'stevearc/dressing.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('dressing').setup {}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'nvim-lualine/lualine.nvim',
 | 
			
		||||
		requires = { 'kyazdani42/nvim-web-devicons', opt = true },
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('lualine').setup {
 | 
			
		||||
				options = {
 | 
			
		||||
					icons_enabled = true,
 | 
			
		||||
					theme = 'auto',
 | 
			
		||||
					component_separators = { left = '', right = '' },
 | 
			
		||||
					section_separators = { left = '', right = '' },
 | 
			
		||||
					disabled_filetypes = {},
 | 
			
		||||
					always_divide_middle = true,
 | 
			
		||||
				},
 | 
			
		||||
				sections = {
 | 
			
		||||
					lualine_a = { 'mode' },
 | 
			
		||||
					lualine_b = { 'branch', 'diff', 'diagnostics' },
 | 
			
		||||
					lualine_c = { 'filename' },
 | 
			
		||||
					lualine_x = { 'encoding', 'fileformat', 'filetype' },
 | 
			
		||||
					lualine_y = { 'progress' },
 | 
			
		||||
					lualine_z = { 'location' }
 | 
			
		||||
				},
 | 
			
		||||
				inactive_sections = {
 | 
			
		||||
					lualine_a = {},
 | 
			
		||||
					lualine_b = {},
 | 
			
		||||
					lualine_c = { 'filename' },
 | 
			
		||||
					lualine_x = { 'location' },
 | 
			
		||||
					lualine_y = {},
 | 
			
		||||
					lualine_z = {}
 | 
			
		||||
				},
 | 
			
		||||
				extensions = {}
 | 
			
		||||
			}
 | 
			
		||||
		end,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'kdheepak/tabline.nvim',
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'kdheepak/tabline.nvim',
 | 
			
		||||
		dependencies = { 'nvim-lualine/lualine.nvim' },
 | 
			
		||||
		config = function()
 | 
			
		||||
			require 'tabline'.setup {
 | 
			
		||||
				-- Defaults configuration options
 | 
			
		||||
| 
						 | 
				
			
			@ -457,79 +252,62 @@ return require('packer').startup(function(use)
 | 
			
		|||
	set sessionoptions+=tabpages,globals " store tabpages and globals in session
 | 
			
		||||
	]]
 | 
			
		||||
		end,
 | 
			
		||||
		requires = { { 'hoob3rt/lualine.nvim', opt = true }, { 'kyazdani42/nvim-web-devicons', opt = true } }
 | 
			
		||||
	}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'romgrk/nvim-treesitter-context',
 | 
			
		||||
		dependencies = { 'nvim-treesitter/nvim-treesitter' },
 | 
			
		||||
		opts = {
 | 
			
		||||
			enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
 | 
			
		||||
			max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
 | 
			
		||||
			trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
 | 
			
		||||
			min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
 | 
			
		||||
			zindex = 200, -- The Z-index of the context window
 | 
			
		||||
			mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline'
 | 
			
		||||
			-- Separator between context and content. Should be a single character string, like '-'.
 | 
			
		||||
			-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
 | 
			
		||||
			separator = nil,
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		"lukas-reineke/indent-blankline.nvim",
 | 
			
		||||
		main = "ibl",
 | 
			
		||||
		opts = {}
 | 
			
		||||
	},
 | 
			
		||||
	{
 | 
			
		||||
		'lewis6991/gitsigns.nvim',
 | 
			
		||||
		config = true,
 | 
			
		||||
	},
 | 
			
		||||
	'chentau/marks.nvim',
 | 
			
		||||
	'sitiom/nvim-numbertoggle',
 | 
			
		||||
	{
 | 
			
		||||
		'numToStr/Comment.nvim',
 | 
			
		||||
		config = true,
 | 
			
		||||
	},
 | 
			
		||||
	-- {
 | 
			
		||||
	-- 	"tversteeg/registers.nvim",
 | 
			
		||||
	-- 	config = true,
 | 
			
		||||
	-- },
 | 
			
		||||
	{
 | 
			
		||||
		'Wansmer/treesj',
 | 
			
		||||
		dependencies = { 'nvim-treesitter' },
 | 
			
		||||
		opts = {
 | 
			
		||||
			-- Use default keymaps
 | 
			
		||||
			-- (<space>m - toggle, <space>j - join, <space>s - split)
 | 
			
		||||
			use_default_keymaps = false,
 | 
			
		||||
			max_join_length = 256,
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	"jbyuki/venn.nvim",
 | 
			
		||||
 | 
			
		||||
	use { 'romgrk/nvim-treesitter-context',
 | 
			
		||||
		requires = 'nvim-treesitter/nvim-treesitter',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('treesitter-context').setup {
 | 
			
		||||
				enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
 | 
			
		||||
				max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
 | 
			
		||||
				trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
 | 
			
		||||
				min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
 | 
			
		||||
				zindex = 200, -- The Z-index of the context window
 | 
			
		||||
				mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline'
 | 
			
		||||
				-- Separator between context and content. Should be a single character string, like '-'.
 | 
			
		||||
				-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
 | 
			
		||||
				separator = nil,
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
	--colorscheme
 | 
			
		||||
	{
 | 
			
		||||
		'bluz71/vim-moonfly-colors',
 | 
			
		||||
		lazy = true,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	use { 'lewis6991/gitsigns.nvim',
 | 
			
		||||
		-- tag = 'release', -- To use the latest release. currently bugged
 | 
			
		||||
		config = function() require('gitsigns').setup() end
 | 
			
		||||
	}
 | 
			
		||||
	{
 | 
			
		||||
		'bluz71/vim-nightfly-guicolors',
 | 
			
		||||
		lazy = true,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	use { 'chentau/marks.nvim' }
 | 
			
		||||
 | 
			
		||||
	use { 'sitiom/nvim-numbertoggle' }
 | 
			
		||||
 | 
			
		||||
	use { 'lukas-reineke/indent-blankline.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.opt.list = true
 | 
			
		||||
			vim.opt.listchars:append("eol:↴")
 | 
			
		||||
			require('ibl').setup {}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	--editing utilities
 | 
			
		||||
 | 
			
		||||
	use { 'numToStr/Comment.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('Comment').setup()
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use {
 | 
			
		||||
		"tversteeg/registers.nvim",
 | 
			
		||||
		config = function()
 | 
			
		||||
			require("registers").setup()
 | 
			
		||||
		end,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use { 'Wansmer/treesj',
 | 
			
		||||
		requires = { 'nvim-treesitter' },
 | 
			
		||||
		config = function()
 | 
			
		||||
			require('treesj').setup({
 | 
			
		||||
				-- Use default keymaps
 | 
			
		||||
				-- (<space>m - toggle, <space>j - join, <space>s - split)
 | 
			
		||||
				use_default_keymaps = false,
 | 
			
		||||
				max_join_length = 256,
 | 
			
		||||
			})
 | 
			
		||||
		end,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use "jbyuki/venn.nvim"
 | 
			
		||||
 | 
			
		||||
	--color scheme stuff.
 | 
			
		||||
 | 
			
		||||
	use 'bluz71/vim-moonfly-colors'
 | 
			
		||||
 | 
			
		||||
	use 'bluz71/vim-nightfly-guicolors'
 | 
			
		||||
 | 
			
		||||
	if Packer_Bootstrap then
 | 
			
		||||
		require('packer').sync()
 | 
			
		||||
	end
 | 
			
		||||
end)
 | 
			
		||||
})
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,4 +1,3 @@
 | 
			
		|||
local nvim_lsp = require'lspconfig'
 | 
			
		||||
local opts = {
 | 
			
		||||
	tools = {
 | 
			
		||||
		autoSetHints = true,
 | 
			
		||||
| 
						 | 
				
			
			@ -15,7 +14,7 @@ local opts = {
 | 
			
		|||
			-- whether to show parameter hints with the inlay hints or not
 | 
			
		||||
			show_parameter_hints = true,
 | 
			
		||||
			-- whether to show variable name before type hints with the inlay hints or not
 | 
			
		||||
			show_variable_name = false,
 | 
			
		||||
			show_variable_name = true,
 | 
			
		||||
			-- prefix for parameter hints
 | 
			
		||||
			parameter_hints_prefix = "<- ",
 | 
			
		||||
			-- prefix for all the other hints (type, chaining)
 | 
			
		||||
| 
						 | 
				
			
			@ -27,7 +26,7 @@ local opts = {
 | 
			
		|||
			-- whether to align to the extreme right or not
 | 
			
		||||
			right_align = true,
 | 
			
		||||
			-- padding from the right if right_align is true
 | 
			
		||||
			right_align_padding = 7,
 | 
			
		||||
			right_align_padding = 1,
 | 
			
		||||
			-- The color of the hints
 | 
			
		||||
			highlight = "Comment",
 | 
			
		||||
		},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue