commit
454f77b62d
@ -0,0 +1,88 @@ |
||||
set tgc |
||||
color darcula |
||||
set ff=unix ffs=unix,dos |
||||
set sw=4 ts=4 noet tw=80 cc=80 |
||||
set spr sb |
||||
set pb=12 winbl=12 |
||||
set fcs=eob:\ list lcs=tab:\│\ ,trail:⎵ |
||||
" on windows, prevents hanging! on unix, get rid of this. |
||||
" nmap <C-z> <Nop> |
||||
let g:mapleader = " " |
||||
set mouse=a |
||||
|
||||
function s:InitLSP() |
||||
lua <<EOF |
||||
local cmp = require "cmp" |
||||
local cmp_lsp = require "cmp_nvim_lsp" |
||||
local lspconfig = require "lspconfig" |
||||
|
||||
|
||||
cmp.setup { |
||||
sources = { |
||||
{name = "nvim_lsp"} |
||||
}, |
||||
mapping = cmp.mapping.preset.insert() |
||||
} |
||||
local caps = vim.lsp.protocol.make_client_capabilities() |
||||
caps = cmp_lsp.update_capabilities(caps) |
||||
|
||||
local opts = {noremap = true, silent = true} |
||||
local function nn(from, to) vim.api.nvim_set_keymap("n", from, to, opts) end |
||||
nn("<Leader>e", "<cmd>lua vim.diagnostic.open_float()<CR>") |
||||
nn("<Leader>p", "<cmd>lua vim.diagnostic.goto_prev()<CR>") |
||||
nn("<Leader>n", "<cmd>lua vim.diagnostic.goto_next()<CR>") |
||||
|
||||
local function onattach(client, buf) |
||||
local function nn(from, to) |
||||
vim.api.nvim_buf_set_keymap(buf, "n", from, to, opts) |
||||
end |
||||
nn("gD", "<cmd>lua vim.lsp.buf.declaration()<CR>") |
||||
nn("gd", "<cmd>lua vim.lsp.buf.definition()<CR>") |
||||
nn("<Leader>K", "<cmd>lua vim.lsp.buf.hover()<CR>") |
||||
nn("gi", "<cmd>lua vim.lsp.buf.implementation()<CR>") |
||||
nn("<C-k>", "<cmd>lua vim.lsp.buf.signature_help()<CR>") |
||||
nn("<Leader>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>") |
||||
nn("<Leader>r", "<cmd>lua vim.lsp.buf.rename()<CR>") |
||||
nn("<Leader>A", "<cmd>lua vim.lsp.buf.code_action()<CR>") |
||||
nn("<Leader>R", "<cmd>lua vim.lsp.buf.references()<CR>") |
||||
nn("<Leader>f", "<cmd>lua vim.lsp.buf.formatting()<CR>") |
||||
end |
||||
local servers = {"clangd"} -- add others here if you use them! |
||||
for _, lsp in pairs(servers) do |
||||
lspconfig[lsp].setup { |
||||
capabilities = caps, |
||||
on_attach = onattach, |
||||
flags = {debounce_text_changes = 500} |
||||
} |
||||
end |
||||
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', |
||||
'-Xms1g', |
||||
'--add-modules=ALL-SYSTEM', |
||||
'--add-opens', 'java.base/java.util=ALL-UNNAMED', |
||||
'--add-opens', 'java.base/java.lang=ALL-UNNAMED', |
||||
'-jar', '/home/fabiclawz/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar', |
||||
'-configuration', '/home/fabiclawz/jdtls/config_linux', |
||||
'-data', '/home/fabiclawz/jdtls/data' |
||||
}, |
||||
root_dir = require('jdtls.setup').find_root({'.git', 'mvnw', 'gradlew'}), |
||||
settings = { |
||||
java = { |
||||
} |
||||
}, |
||||
init_options = { |
||||
bundles = {} |
||||
}, |
||||
} |
||||
require('jdtls').start_or_attach(config) |
||||
|
||||
EOF |
||||
endfunction |
||||
|
||||
au VimEnter * call s:InitLSP() |
||||
@ -0,0 +1 @@ |
||||
Subproject commit a7b72fc27edac2305dbf0af807981bd703835b25 |
||||
Loading…
Reference in new issue