WIP: Switch to NixOS #5
4 changed files with 31 additions and 3 deletions
|
@ -33,6 +33,9 @@ dotfiles:
|
||||||
- nvim-packer-sync
|
- nvim-packer-sync
|
||||||
dst: ~/.config/nvim/lua
|
dst: ~/.config/nvim/lua
|
||||||
src: .config/nvim/lua
|
src: .config/nvim/lua
|
||||||
|
d_nvim_ftplugin:
|
||||||
|
dst: ~/.config/nvim/ftplugin
|
||||||
|
src: .config/nvim/ftplugin
|
||||||
d_sway:
|
d_sway:
|
||||||
dst: ~/.config/sway
|
dst: ~/.config/sway
|
||||||
src: .config/sway
|
src: .config/sway
|
||||||
|
@ -193,8 +196,9 @@ profiles:
|
||||||
- f_ranger.conf
|
- f_ranger.conf
|
||||||
- f_ssh.conf
|
- f_ssh.conf
|
||||||
- f_authorized_keys
|
- f_authorized_keys
|
||||||
- d_nvim_lua
|
|
||||||
- f_nvim_init
|
- f_nvim_init
|
||||||
|
- d_nvim_lua
|
||||||
|
- d_nvim_ftplugin
|
||||||
- f_gitconfig
|
- f_gitconfig
|
||||||
- f_alacritty.yml
|
- f_alacritty.yml
|
||||||
email:
|
email:
|
||||||
|
|
19
home/.config/nvim/ftplugin/java.lua
Normal file
19
home/.config/nvim/ftplugin/java.lua
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
local nvim_local_dir = vim.fn.expand('~/.local/share/nvim')
|
||||||
|
|
||||||
|
local project_name = vim.fn.fnamemodify(vim.fn.getcwd(), ':p:h:t')
|
||||||
|
local workspace_dir = nvim_local_dir .. '/jdtls-workspaces/' .. project_name
|
||||||
|
require('jdtls').start_or_attach({
|
||||||
|
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', nvim_local_dir ..
|
||||||
|
'/lsp_servers/jdtls/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar',
|
||||||
|
'-configuration', nvim_local_dir .. '/lsp_servers/jdtls/config_linux',
|
||||||
|
'-data', workspace_dir
|
||||||
|
}
|
||||||
|
})
|
|
@ -49,8 +49,10 @@ local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
|
||||||
|
|
||||||
-- Register a handler that will be called for all installed servers.
|
-- Register a handler that will be called for all installed servers.
|
||||||
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
|
|
||||||
lsp_installer.on_server_ready(function(server)
|
lsp_installer.on_server_ready(function(server)
|
||||||
|
-- Don't setup jdtls here since it is done by nvim-jdtls
|
||||||
|
if server.name == "jdtls" then return end
|
||||||
|
|
||||||
local opts = {}
|
local opts = {}
|
||||||
|
|
||||||
-- Lua specific settings
|
-- Lua specific settings
|
||||||
|
@ -79,6 +81,6 @@ lsp_installer.on_server_ready(function(server)
|
||||||
end
|
end
|
||||||
|
|
||||||
opts.on_attach = buf_map_keys
|
opts.on_attach = buf_map_keys
|
||||||
opts.capabilities = capabilities
|
opts.capabilities = capabilities
|
||||||
server:setup(opts)
|
server:setup(opts)
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -64,6 +64,9 @@ require('packer').startup(function()
|
||||||
-- Install LSP server executables
|
-- Install LSP server executables
|
||||||
use 'williamboman/nvim-lsp-installer'
|
use 'williamboman/nvim-lsp-installer'
|
||||||
|
|
||||||
|
-- Additional LSP features for Java
|
||||||
|
use 'mfussenegger/nvim-jdtls'
|
||||||
|
|
||||||
-- Completion
|
-- Completion
|
||||||
use 'hrsh7th/nvim-cmp' -- Autocompletion plugin
|
use 'hrsh7th/nvim-cmp' -- Autocompletion plugin
|
||||||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
|
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue