Updated my metals configuration
This commit is contained in:
		
							parent
							
								
									1dfc54f27d
								
							
						
					
					
						commit
						9191504dba
					
				
					 1 changed files with 26 additions and 9 deletions
				
			
		|  | @ -200,6 +200,10 @@ nmap ; :Buffers<CR> | |||
| " Press Ctrl+P to show a list of files (+ fuzzy search) | ||||
| nmap <C-p> :Files<CR> | ||||
| 
 | ||||
| " Close the quickfix window (example: this shows up when showing references  | ||||
| " via LSP). | ||||
| nnoremap <leader>cq :ccl<cr> | ||||
| 
 | ||||
| " Telescope Bindings (e.g. file and buffer search) | ||||
| nnoremap <C-p> <cmd>Telescope find_files<cr> | ||||
| nnoremap ; <cmd>Telescope buffers<cr> | ||||
|  | @ -221,11 +225,12 @@ nmap [h <Plug>(GitGutterPrevHunk) | |||
| 
 | ||||
| " LSP key bindings | ||||
| nnoremap <silent> K           <cmd>lua vim.lsp.buf.hover()<CR> | ||||
| nnoremap <silent> gd          <cmd>lua vim.lsp.buf.definition()<CR> | ||||
| nnoremap <silent> gi          <cmd>lua vim.lsp.buf.implementation()<CR> | ||||
| nnoremap <silent> gr          <cmd>lua vim.lsp.buf.references()<CR> | ||||
| nnoremap <silent> gds         <cmd>lua vim.lsp.buf.document_symbol()<CR> | ||||
| nnoremap <silent> gws         <cmd>lua vim.lsp.buf.workspace_symbol()<CR> | ||||
| nnoremap <silent> gd          <cmd>lua vim.lsp.buf.definition()<CR> | ||||
| nnoremap <silent> <leader>cl  <cmd>lua vim.lsp.codelens.run()<CR> | ||||
| nnoremap <silent> <leader>D   <cmd>lua vim.lsp.buf.type_definition()<CR> | ||||
| nnoremap <silent> <leader>rn  <cmd>lua vim.lsp.buf.rename()<CR> | ||||
| nnoremap <silent> <leader>ca  <cmd>lua vim.lsp.buf.code_action()<CR> | ||||
|  | @ -269,7 +274,7 @@ cmp.setup({ | |||
|     { name = 'buffer', option = { keyword_length = 3 }, }, | ||||
|   }, | ||||
|   mapping = { | ||||
|     ["<CR>"] = cmp.mapping.confirm({ select = true }), | ||||
|     ["<CR>"] = cmp.mapping.confirm({}), | ||||
|     ["<Tab>"] = function(fallback) | ||||
|       if cmp.visible() then | ||||
|         cmp.select_next_item() | ||||
|  | @ -323,15 +328,22 @@ metals_config.settings = { | |||
|   showInferredType = true | ||||
| } | ||||
| 
 | ||||
| -- This is a tricky option and _nothing_ will show up unless... | ||||
| -- "However, to enable this you _must_ have the metals status shown in your  | ||||
| --  status bar somehow." | ||||
| metals_config.init_options.statusBarProvider = "on" | ||||
| 
 | ||||
| metals_config.capabilities = capabilities | ||||
| metals_config.capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities) | ||||
| 
 | ||||
| vim.cmd([[augroup lsp]]) | ||||
| vim.cmd([[autocmd!]]) | ||||
| vim.cmd([[autocmd FileType scala setlocal omnifunc=v:lua.vim.lsp.omnifunc]]) | ||||
| vim.cmd([[autocmd FileType java,scala,sbt lua require("metals").initialize_or_attach(metals_config)]]) | ||||
| vim.cmd([[augroup end]]) | ||||
| -- Autocmd that will actually be in charging of starting the whole thing | ||||
| local nvim_metals_group = vim.api.nvim_create_augroup("nvim-metals", { clear = true }) | ||||
| vim.api.nvim_create_autocmd("FileType", { | ||||
|   pattern = { "scala", "sbt", "java" }, | ||||
|   callback = function() | ||||
|     require("metals").initialize_or_attach(metals_config) | ||||
|   end, | ||||
|   group = nvim_metals_group, | ||||
| }) | ||||
| EOF | ||||
| " }} | ||||
| 
 | ||||
|  | @ -369,8 +381,13 @@ EOF | |||
| lua <<EOF | ||||
| local lualine_gruvbox = require'lualine.themes.gruvbox' | ||||
| 
 | ||||
| local function metals_status_for_lualine() | ||||
|   return vim.g["metals_status"] or "" | ||||
| end | ||||
| 
 | ||||
| require('lualine').setup { | ||||
|   options = { theme  = lualine_gruvbox }, | ||||
|   options = { theme = lualine_gruvbox }, | ||||
|   sections = { lualine_c = { 'filename', metals_status_for_lualine } } | ||||
| } | ||||
| EOF | ||||
| " }} | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 pgfm
						pgfm