diff options
| -rw-r--r-- | config/essentials/nvim/ftplugin/java.lua | 56 | ||||
| -rw-r--r-- | config/essentials/nvim/lua/tlast/cmp/java.lua | 2 | ||||
| l--------- | config/extra/mutt/muttrc | 2 | 
3 files changed, 55 insertions, 5 deletions
diff --git a/config/essentials/nvim/ftplugin/java.lua b/config/essentials/nvim/ftplugin/java.lua index eeaff47..9cb52e1 100644 --- a/config/essentials/nvim/ftplugin/java.lua +++ b/config/essentials/nvim/ftplugin/java.lua @@ -1,3 +1,53 @@ -vim.keymap.set({"n", "i"}, "<LocalLeader>t", "<cmd>s/\\(\\s*\\)\\(.*\\)/\\1System.out.print(\"\\2\");<cr>") -vim.keymap.set({"n", "i"}, "<LocalLeader>i", "<cmd>s/\\(\\s*\\)\\(.*\\)/\\1System.out.print(\"\\2: \" + \\2);<cr>") -vim.keymap.set({"n", "i"}, "<LocalLeader>l", "<cmd>s/print(/println(/<cr>") +local home = os.getenv('HOME') +local root_markers = {'gradlew', 'mvnw', '.git'} +local root_dir = require('jdtls.setup').find_root(root_markers) +local workspace_folder = home .. "/.local/share/eclipse/" .. vim.fn.fnamemodify(root_dir, ":p:h:t") + +function nnoremap(rhs, lhs, bufopts, desc) +  bufopts.desc = desc +  vim.keymap.set("n", rhs, lhs, bufopts) +end + +local on_attach = function(client, bufnr) +  -- Regular Neovim LSP client keymappings +  local bufopts = { noremap=true, silent=true, buffer=bufnr } +  nnoremap('gD', vim.lsp.buf.declaration, bufopts, "Go to declaration") +  nnoremap('gd', vim.lsp.buf.definition, bufopts, "Go to definition") +  nnoremap('gi', vim.lsp.buf.implementation, bufopts, "Go to implementation") +  nnoremap('K', vim.lsp.buf.hover, bufopts, "Hover text") +  nnoremap('<C-k>', vim.lsp.buf.signature_help, bufopts, "Show signature") +  nnoremap('<space>wa', vim.lsp.buf.add_workspace_folder, bufopts, "Add workspace folder") +  nnoremap('<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts, "Remove workspace folder") +  nnoremap('<space>wl', function() +    print(vim.inspect(vim.lsp.buf.list_workspace_folders())) +  end, bufopts, "List workspace folders") +  nnoremap('<space>D', vim.lsp.buf.type_definition, bufopts, "Go to type definition") +  nnoremap('<space>rn', vim.lsp.buf.rename, bufopts, "Rename") +  nnoremap('<space>ca', vim.lsp.buf.code_action, bufopts, "Code actions") +  vim.keymap.set('v', "<space>ca", "<ESC><CMD>lua vim.lsp.buf.range_code_action()<CR>", +    { noremap=true, silent=true, buffer=bufnr, desc = "Code actions" }) +  nnoremap('<space>f', function() vim.lsp.buf.format { async = true } end, bufopts, "Format file") + +  -- Java extensions provided by jdtls +  nnoremap("<C-o>", jdtls.organize_imports, bufopts, "Organize imports") +  nnoremap("<space>ev", jdtls.extract_variable, bufopts, "Extract variable") +  nnoremap("<space>ec", jdtls.extract_constant, bufopts, "Extract constant") +  vim.keymap.set('v', "<space>em", [[<ESC><CMD>lua require('jdtls').extract_method(true)<CR>]], +    { noremap=true, silent=true, buffer=bufnr, desc = "Extract method" }) +end + +local config = { +	flags = { +		debounce_text_changes = 80, +	}, +	cmd = { +		'jdtls', +		'-Dlog.protocol=true', +		'-Dlog.level=ALL', +		'-Xms4g', +		'-data', workspace_folder, +	}, +	on_attach = on_attach, +	root_dir = root_dir, +} +require('jdtls').start_or_attach(config) diff --git a/config/essentials/nvim/lua/tlast/cmp/java.lua b/config/essentials/nvim/lua/tlast/cmp/java.lua index 7d13fb3..1027588 100644 --- a/config/essentials/nvim/lua/tlast/cmp/java.lua +++ b/config/essentials/nvim/lua/tlast/cmp/java.lua @@ -1 +1 @@ -require'lspconfig'.jdtls.setup{} +-- require'lspconfig'.jdtls.setup{} diff --git a/config/extra/mutt/muttrc b/config/extra/mutt/muttrc index 8f6a091..3c0e432 120000 --- a/config/extra/mutt/muttrc +++ b/config/extra/mutt/muttrc @@ -1 +1 @@ -configs/raymaekers.luca@gmail.com
\ No newline at end of file +configs/tlast723@gmail.com
\ No newline at end of file  | 
