added toggleterm and whitch-key.nvim.
due to adding whitch-key.nvim, also added descs to all keybinds.
This commit is contained in:
		
							parent
							
								
									855108ffc2
								
							
						
					
					
						commit
						5f5dc76261
					
				
					 5 changed files with 126 additions and 62 deletions
				
			
		| 
						 | 
				
			
			@ -9,27 +9,39 @@ local on_attach = function()
 | 
			
		|||
	set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
 | 
			
		||||
 | 
			
		||||
	-- Mappings.
 | 
			
		||||
	local opts = { noremap = true, silent = true }
 | 
			
		||||
	local function optsWithDesc(desc)
 | 
			
		||||
		return { silent = true, desc = desc }
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	--setup leader-l prefix in whitch-key
 | 
			
		||||
	local wk = require("which-key")
 | 
			
		||||
	wk.register {
 | 
			
		||||
		["<leader>l"]={
 | 
			
		||||
			name="+lsp"
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	-- See `:help vim.lsp.*` for documentation on any of the below functions
 | 
			
		||||
	set_keymap('', '<leader>lc', '<cmd>lua vim.lsp.buf.declaration()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>ld', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lh', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>li', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>ls', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lwa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lwr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lw', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lt', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lr', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>la', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>le', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lo', '<cmd>lua vim.diagnostic.open_float()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>ln', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lp', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lm', '<cmd>lua vim.lsp.buf.format {async=true}<CR>', opts)
 | 
			
		||||
	set_keymap('', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', opts)
 | 
			
		||||
	set_keymap('', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', opts)
 | 
			
		||||
	set_keymap('', '<leader>lc', '<cmd>lua vim.lsp.buf.declaration()<CR>', optsWithDesc("jump to declaration"))
 | 
			
		||||
	set_keymap('', '<leader>ld', '<cmd>lua vim.lsp.buf.definition()<CR>', optsWithDesc("jump to definition"))
 | 
			
		||||
	set_keymap('', '<leader>lh', '<cmd>lua vim.lsp.buf.hover()<CR>', optsWithDesc("show lsp hover info"))
 | 
			
		||||
	set_keymap('', '<leader>li', '<cmd>lua vim.lsp.buf.implementation()<CR>', optsWithDesc("show implementations"))
 | 
			
		||||
	set_keymap('', '<leader>ls', '<cmd>lua vim.lsp.buf.signature_help()<CR>', optsWithDesc("show signature help"))
 | 
			
		||||
	set_keymap('', '<leader>lwa', '<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>', optsWithDesc("add workspace folder"))
 | 
			
		||||
	set_keymap('', '<leader>lwr', '<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>',
 | 
			
		||||
		optsWithDesc("remove workspace folder"))
 | 
			
		||||
	set_keymap('', '<leader>lw', '<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>',
 | 
			
		||||
		optsWithDesc("show workspace folders"))
 | 
			
		||||
	set_keymap('', '<leader>lr', '<cmd>lua vim.lsp.buf.rename()<CR>', optsWithDesc("rename symbol"))
 | 
			
		||||
	set_keymap('', '<leader>la', '<cmd>lua vim.lsp.buf.code_action()<CR>', optsWithDesc("lsp code action"))
 | 
			
		||||
	set_keymap('', '<leader>le', '<cmd>lua vim.lsp.buf.references()<CR>', optsWithDesc("list references"))
 | 
			
		||||
	set_keymap('', '<leader>lo', '<cmd>lua vim.diagnostic.open_float()<CR>',
 | 
			
		||||
		optsWithDesc("show diagnostic in floating window"))
 | 
			
		||||
	set_keymap('', '<leader>ln', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic"))
 | 
			
		||||
	set_keymap('', '<leader>lp', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic"))
 | 
			
		||||
	set_keymap('', '<leader>lm', '<cmd>lua vim.lsp.buf.format {async=true}<CR>', optsWithDesc("format buffer"))
 | 
			
		||||
	set_keymap('', ']d', '<cmd>lua vim.diagnostic.goto_next()<CR>', optsWithDesc("next lsp diagnostic"))
 | 
			
		||||
	set_keymap('', '[d', '<cmd>lua vim.diagnostic.goto_prev()<CR>', optsWithDesc("prev lsp diagnostic"))
 | 
			
		||||
end
 | 
			
		||||
require("mason-lspconfig").setup_handlers({
 | 
			
		||||
	function(server_name)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -207,7 +207,6 @@ return require('packer').startup(function(use)
 | 
			
		|||
			local opts = {
 | 
			
		||||
				-- your configuration comes here
 | 
			
		||||
				-- or leave it empty to use the default settings
 | 
			
		||||
				-- refer to the configuration section below
 | 
			
		||||
			}
 | 
			
		||||
			require("todo-comments").setup(opts)
 | 
			
		||||
		end
 | 
			
		||||
| 
						 | 
				
			
			@ -340,8 +339,37 @@ return require('packer').startup(function(use)
 | 
			
		|||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use {
 | 
			
		||||
		"folke/which-key.nvim",
 | 
			
		||||
		config = function()
 | 
			
		||||
			vim.o.timeout = true
 | 
			
		||||
			vim.o.timeoutlen = 300
 | 
			
		||||
			-- default kemaps that whitch-key misses.
 | 
			
		||||
			local wk = require("which-key")
 | 
			
		||||
			wk.register {
 | 
			
		||||
				g = {
 | 
			
		||||
					t = "next tab",
 | 
			
		||||
					T = "previous tab"
 | 
			
		||||
				},
 | 
			
		||||
			}
 | 
			
		||||
			require("which-key").setup {
 | 
			
		||||
				-- your configuration comes here
 | 
			
		||||
				-- or leave it empty to use the default settings
 | 
			
		||||
				-- refer to the configuration section below
 | 
			
		||||
				-- local wk = require("which-key")
 | 
			
		||||
			}
 | 
			
		||||
		end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	--UI stuff
 | 
			
		||||
 | 
			
		||||
	use { "akinsho/toggleterm.nvim", tag = '*', config = function()
 | 
			
		||||
		require("toggleterm").setup {
 | 
			
		||||
			insert_mappings = false,
 | 
			
		||||
			open_mapping = [[<c-\>]],
 | 
			
		||||
		}
 | 
			
		||||
	end }
 | 
			
		||||
 | 
			
		||||
	use { 'simrat39/symbols-outline.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
			local opts = {
 | 
			
		||||
| 
						 | 
				
			
			@ -451,7 +479,9 @@ return require('packer').startup(function(use)
 | 
			
		|||
		config = function() require('gitsigns').setup() end
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	use 'chentau/marks.nvim'
 | 
			
		||||
	use { 'chentau/marks.nvim' }
 | 
			
		||||
 | 
			
		||||
	use { 'sitiom/nvim-numbertoggle' }
 | 
			
		||||
 | 
			
		||||
	use { 'lukas-reineke/indent-blankline.nvim',
 | 
			
		||||
		config = function()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue