Add java lsp and neogit
This commit is contained in:
parent
c6dbd5bb6f
commit
3fd39057dd
3 changed files with 389 additions and 2 deletions
72
ftplugin/java.lua
Normal file
72
ftplugin/java.lua
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
local home = os.getenv 'HOME'
|
||||
local share = '/AppData/Local/nvim-data'
|
||||
local workspace_path = home .. share .. '/jdtls-workspace/'
|
||||
local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t')
|
||||
local workspace_dir = workspace_path .. project_name
|
||||
|
||||
local status, jdtls = pcall(require, 'jdtls')
|
||||
if not status then
|
||||
return
|
||||
end
|
||||
local extendedClientCapabilities = jdtls.extendedClientCapabilities
|
||||
|
||||
local config = {
|
||||
cmd = {
|
||||
'java',
|
||||
'-Declipse.application=org.eclipse.jdt.ls.core.id1',
|
||||
'-Dosgi.bundles.defaultStartLevel=4',
|
||||
'-Declipse.product=org.eclipse.jdt.ls.core.product',
|
||||
'-Dlog.protocol=true',
|
||||
'-Dlog.level=ALL',
|
||||
'-Xmx1g',
|
||||
'--add-modules=ALL-SYSTEM',
|
||||
'--add-opens',
|
||||
'java.base/java.util=ALL-UNNAMED',
|
||||
'--add-opens',
|
||||
'java.base/java.lang=ALL-UNNAMED',
|
||||
'-javaagent:' .. home .. share .. '/mason/packages/jdtls/lombok.jar',
|
||||
'-jar',
|
||||
vim.fn.glob(home .. share .. '/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_*.jar'),
|
||||
'-configuration',
|
||||
home .. share .. '/mason/packages/jdtls/config_win',
|
||||
'-data',
|
||||
workspace_dir,
|
||||
},
|
||||
root_dir = require('jdtls.setup').find_root { '.git', 'mvnw', 'gradlew', 'pom.xml', 'build.gradle' },
|
||||
|
||||
settings = {
|
||||
java = {
|
||||
signatureHelp = { enabled = true },
|
||||
extendedClientCapabilities = extendedClientCapabilities,
|
||||
maven = {
|
||||
downloadSources = true,
|
||||
},
|
||||
referencesCodeLens = {
|
||||
enabled = true,
|
||||
},
|
||||
references = {
|
||||
includeDecompiledSources = true,
|
||||
},
|
||||
inlayHints = {
|
||||
parameterNames = {
|
||||
enabled = 'all', -- literals, all, none
|
||||
},
|
||||
},
|
||||
format = {
|
||||
enabled = false,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
init_options = {
|
||||
bundles = {},
|
||||
},
|
||||
}
|
||||
require('jdtls').start_or_attach(config)
|
||||
|
||||
vim.keymap.set('n', '<leader>co', "<Cmd>lua require'jdtls'.organize_imports()<CR>", { desc = 'Organize Imports' })
|
||||
vim.keymap.set('n', '<leader>crv', "<Cmd>lua require('jdtls').extract_variable()<CR>", { desc = 'Extract Variable' })
|
||||
vim.keymap.set('v', '<leader>crv', "<Esc><Cmd>lua require('jdtls').extract_variable(true)<CR>", { desc = 'Extract Variable' })
|
||||
vim.keymap.set('n', '<leader>crc', "<Cmd>lua require('jdtls').extract_constant()<CR>", { desc = 'Extract Constant' })
|
||||
vim.keymap.set('v', '<leader>crc', "<Esc><Cmd>lua require('jdtls').extract_constant(true)<CR>", { desc = 'Extract Constant' })
|
||||
vim.keymap.set('v', '<leader>crm', "<Esc><Cmd>lua require('jdtls').extract_method(true)<CR>", { desc = 'Extract Method' })
|
||||
Loading…
Add table
Add a link
Reference in a new issue