Compare commits

...

5 Commits

Author SHA1 Message Date
Fabian Schmidt
f942ea2f91 Use telescope to display references, diagnostics and code actions 2024-09-17 12:44:51 +02:00
Fabian Schmidt
b366437a6a Add julia lsp 2024-09-17 07:53:21 +02:00
Fabian Schmidt
fbbd0c5512 Made background slightly lighter, less yellow 2024-09-02 08:41:05 +02:00
Fabian Schmidt
4f2c968b33 added jdtls, need to play with it some more to add missing keymaps and
dap (need to properly configure dap anyway)

remove nvim-tree
remove goyo and limelight commands and keymaps
2024-08-13 11:49:16 +02:00
Fabian Schmidt
11763243dc Update everything and add light theme modifications for kanagawa 2024-08-13 07:47:26 +02:00
8 changed files with 253 additions and 57 deletions

View File

@@ -29,7 +29,7 @@ vim.opt.incsearch = true
vim.opt.scrolloff = 12
vim.opt.sidescrolloff = 8
vim.opt.mouse = 'a'
vim.opt.autochdir = true
vim.opt.autochdir = false
vim.opt.clipboard = 'unnamed,unnamedplus'
vim.opt.number = true
vim.opt.wrap = false

View File

@@ -1,36 +1,38 @@
{
"LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" },
"bufferline.nvim": { "branch": "main", "commit": "d6cb9b7cac52887bcac65f8698e67479553c0748" },
"LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" },
"bufferline.nvim": { "branch": "main", "commit": "2e3c8cc5a57ddd32f1edd2ffd2ccb10c09421f6c" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" },
"cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-nvim-lua": { "branch": "main", "commit": "f12408bdb54c39c23e67cab726264c10db33ada8" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
"dashboard-nvim": { "branch": "master", "commit": "413442b12d85315fc626c44a0ce4929b213ef604" },
"fidget.nvim": { "branch": "main", "commit": "60404ba67044c6ab01894dd5bf77bd64ea5e09aa" },
"gitsigns.nvim": { "branch": "main", "commit": "2c2463dbd82eddd7dbab881c3a62cfbfbe3c67ae" },
"kanagawa.nvim": { "branch": "master", "commit": "bfa818c7bf6259152f1d89cf9fbfba3554c93695" },
"lazy.nvim": { "branch": "main", "commit": "aedcd79811d491b60d0a6577a9c1701063c2a609" },
"lspkind-nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" },
"lualine.nvim": { "branch": "master", "commit": "7d131a8d3ba5016229e8a1d08bf8782acea98852" },
"dashboard-nvim": { "branch": "master", "commit": "fabf5feec96185817c732d47d363f34034212685" },
"fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" },
"gitsigns.nvim": { "branch": "main", "commit": "562dc47189ad3c8696dbf460d38603a74d544849" },
"kanagawa.nvim": { "branch": "master", "commit": "e5f7b8a804360f0a48e40d0083a97193ee4fcc87" },
"lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" },
"lspkind-nvim": { "branch": "master", "commit": "cff4ae321a91ee3473a92ea1a8c637e3a9510aec" },
"lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" },
"lunar.nvim": { "branch": "master", "commit": "08bbc93b96ad698d22fc2aa01805786bcedc34b9" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21d33d69a81f6351e5a5f49078b2e4f0075c8e73" },
"mason.nvim": { "branch": "main", "commit": "3b5068f0fc565f337d67a2d315d935f574848ee7" },
"nvim-autopairs": { "branch": "master", "commit": "c6139ca0d5ad7af129ea6c89cb4c56093f2c034a" },
"nvim-cmp": { "branch": "main", "commit": "04e0ca376d6abdbfc8b52180f8ea236cbfddf782" },
"nvim-dap": { "branch": "master", "commit": "fc880e82059eb21c0fa896be60146e5f17680648" },
"nvim-dap-ui": { "branch": "master", "commit": "9720eb5fa2f41988e8770f973cd11b76dd568a5d" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "d4542ac257d3c7ee4131350db6179ae6340ce40b" },
"nvim-lspconfig": { "branch": "master", "commit": "9553725789be682ecd945a527ec552e489ea8534" },
"nvim-tree.lua": { "branch": "master", "commit": "d52fdeb0a300ac42b9cfa65ae0600a299f8e8677" },
"nvim-treesitter": { "branch": "master", "commit": "a47540fd737eb5c03ee21ee69eb8134ce5568fb6" },
"nvim-web-devicons": { "branch": "master", "commit": "4adea17610d140a99c313e3f79a9dc01825d59ae" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "62360f061d45177dda8afc1b0fd1327328540301" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"nvim-autopairs": { "branch": "master", "commit": "48ca9aaee733911424646cb1605f27bc01dedbe3" },
"nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" },
"nvim-dap": { "branch": "master", "commit": "2b428ff2632e73295e9decbcf1c40d8e26213305" },
"nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" },
"nvim-dap-virtual-text": { "branch": "master", "commit": "484995d573c0f0563f6a66ebdd6c67b649489615" },
"nvim-jdtls": { "branch": "master", "commit": "99e4b2081de1d9162666cc7b563cbeb01c26b66b" },
"nvim-lspconfig": { "branch": "master", "commit": "a67bc39aaa4f1e13212c5022a561120846eaef27" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-treesitter": { "branch": "master", "commit": "047ce49ccf9a2dce22e1cf3843bef3b5682a8144" },
"nvim-web-devicons": { "branch": "master", "commit": "3722e3d1fb5fe1896a104eb489e8f8651260b520" },
"playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" },
"plenary.nvim": { "branch": "master", "commit": "4f71c0c4a196ceb656c824a70792f3df3ce6bb6d" },
"rustaceanvim": { "branch": "master", "commit": "bc8c4b8f7606d5b7c067cd8369e25c1a7ff77bd0" },
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
"vimwiki": { "branch": "dev", "commit": "fde35bb87e45abe930eebef5ab99a16289e53789" }
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"rustaceanvim": { "branch": "master", "commit": "047f9c9d8cd2861745eb9de6c1570ee0875aa795" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"trouble.nvim": { "branch": "main", "commit": "6efc446226679fda0547c0fd6a7892fd5f5b15d8" },
"vimwiki": { "branch": "dev", "commit": "705ad1e0dded0e3b7ff5fac78547ab67c9d39bdf" }
}

View File

@@ -1,8 +1,5 @@
-- commands.lua
vim.cmd 'autocmd! User GoyoEnter Limelight'
vim.cmd 'autocmd! User GoyoLeave Limelight!'
vim.cmd 'autocmd BufRead,BufNewFile *.wiki,*.md,*.tex set wrap'
vim.cmd 'au BufRead,BufNewFile *.kdl set filetype=kdl'
@@ -10,3 +7,31 @@ vim.cmd 'au BufRead,BufNewFile *.kdl set filetype=kdl'
vim.cmd [[autocmd BufWritePre * lua vim.lsp.buf.format()]]
vim.cmd 'command W :execute \':silent w !sudo tee % > /dev/null\' | :edit!'
-- Array of file names indicating root directory. Modify to your liking.
local root_names = { '.git', 'Makefile' }
-- Cache to use for speed up (at cost of possibly outdated results)
local root_cache = {}
local set_root = function()
-- Get directory path to start search from
local path = vim.api.nvim_buf_get_name(0)
if path == '' then return end
path = vim.fs.dirname(path)
-- Try cache and resort to searching upward for root directory
local root = root_cache[path]
if root == nil then
local root_file = vim.fs.find(root_names, { path = path, upward = true })[1]
if root_file == nil then return end
root = vim.fs.dirname(root_file)
root_cache[path] = root
end
-- Set current directory
vim.fn.chdir(root)
end
local root_augroup = vim.api.nvim_create_augroup('MyAutoRoot', {})
vim.api.nvim_create_autocmd('BufEnter', { group = root_augroup, callback = set_root })

View File

@@ -8,10 +8,6 @@ local function map(mode, lhs, rhs, opts)
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end
function maps.toggleGoyo()
map('n', '<C-g>', ':Goyo<Enter>', { noremap = false })
end
function maps.term()
-- Open and move to resized terminal
map('n', '<leader>t', '<C-w>s<C-w>j :terminal<CR>:res 5<CR>i', { noremap = false })
@@ -45,10 +41,10 @@ end
function maps.init()
vim.g.mapleader = " "
map('n', '<leader>b', '<cmd>NvimTreeToggle<CR>')
-- map('n', '<leader>b', '<cmd>NvimTreeToggle<CR>')
map('n', '<leader>b', '<cmd>Lexplore | vert res 30<CR>')
map('n', '<leader>cc', '<cmd>Telescope colorscheme<CR>')
maps.toggleGoyo()
maps.term()
maps.telescope()
maps.fixIndent()

View File

@@ -8,7 +8,7 @@ return {
config = function()
require("dapui").setup()
end,
dependencies = { 'mfussenegger/nvim-dap' }
dependencies = { 'mfussenegger/nvim-dap', 'nvim-neotest/nvim-nio' }
},
{
'theHamsta/nvim-dap-virtual-text',

View File

@@ -1,16 +1,21 @@
local opts = { noremap = true, silent = true }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts)
vim.keymap.set('n', ',d', vim.diagnostic.goto_prev, opts)
vim.keymap.set('n', '.d', vim.diagnostic.goto_next, opts)
local lsp_attach = function(client, buf)
vim.api.nvim_buf_set_option(buf, "formatexpr", "v:lua.vim.lsp.formatexpr()")
vim.api.nvim_buf_set_option(buf, "omnifunc", "v:lua.vim.lsp.omnifunc")
vim.api.nvim_buf_set_option(buf, "tagfunc", "v:lua.vim.lsp.tagfunc")
vim.lsp.inlay_hint.enable(buf, true)
vim.lsp.inlay_hint.enable(true, nil)
local opts = { noremap = true, silent = true }
vim.keymap.set('n', '<S-C-e>', require("telescope.builtin").diagnostics, opts)
local bufopts = { noremap = true, silent = true, buffer = buf }
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, bufopts)
vim.keymap.set('n', '<C-e>', require("telescope.builtin").diagnostics, bufopts)
vim.keymap.set('n', '<C-ü>d', vim.diagnostic.goto_prev, bufopts)
vim.keymap.set('n', '<C-¨>d', vim.diagnostic.goto_next, bufopts)
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
@@ -19,7 +24,7 @@ local lsp_attach = function(client, buf)
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
vim.keymap.set('n', 'gr', require("telescope.builtin").lsp_references, bufopts)
end
local mason_path = vim.fn.glob(vim.fn.stdpath "data" .. "/mason/packages/codelldb/extension/")
@@ -104,6 +109,10 @@ return {
capabilities = capabilities,
on_attach = lsp_attach
})
lspconfig.julials.setup({
capabilities = capabilities,
on_attach = lsp_attach
})
capabilities.textDocument.completion.completionItem.snippetSupport = true
lspconfig.emmet_ls.setup({
capabilities = capabilities,
@@ -113,7 +122,8 @@ return {
},
{
'mrcjkb/rustaceanvim',
version = "^3",
version = "^4",
lazy = false,
ft = { "rust" },
config = function()
vim.g.rustaceanvim = {
@@ -151,6 +161,135 @@ return {
}
end
},
{
'mfussenegger/nvim-jdtls',
ft = { "java" },
config = function()
local home = os.getenv('HOME')
local jdtls = require('jdtls')
local capabilities = require('cmp_nvim_lsp').default_capabilities()
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")
local config = {
flags = {
debounce_text_changes = 80,
},
capabilities = capabilities,
on_attach = lsp_attach, -- We pass our on_attach keybindings to the configuration map
root_dir = root_dir, -- Set the root directory to our found root_marker
-- here you can configure eclipse.jdt.ls specific settings
-- these are defined by the eclipse.jdt.ls project and will be passed to eclipse when starting.
-- see https://github.com/eclipse/eclipse.jdt.ls/wiki/running-the-java-ls-server-from-the-command-line#initialize-request
-- for a list of options
settings = {
java = {
format = {
settings = {
-- use google java style guidelines for formatting
-- to use, make sure to download the file from https://github.com/google/styleguide/blob/gh-pages/eclipse-java-google-style.xml
-- and place it in the ~/.local/share/eclipse directory
-- url = "/.local/share/eclipse/eclipse-java-google-style.xml",
-- profile = "googlestyle",
},
},
signaturehelp = { enabled = true },
contentprovider = { preferred = 'fernflower' }, -- use fernflower to decompile library code
-- specify any completion options
completion = {
favoritestaticmembers = {
-- "org.hamcrest.matcherassert.assertthat",
-- "org.hamcrest.matchers.*",
-- "org.hamcrest.corematchers.*",
-- "org.junit.jupiter.api.assertions.*",
-- "java.util.objects.requirenonnull",
-- "java.util.objects.requirenonnullelse",
-- "org.mockito.mockito.*"
},
filteredtypes = {
-- "com.sun.*",
-- "io.micrometer.shaded.*",
-- "java.awt.*",
-- "jdk.*", "sun.*",
},
},
-- specify any options for organizing imports
sources = {
organizeimports = {
starthreshold = 9999,
staticstarthreshold = 9999,
},
},
-- how code generation should act
codegeneration = {
tostring = {
template = "${object.classname}{${member.name()}=${member.value}, ${othermembers}}"
},
hashcodeequals = {
usejava7objects = true,
},
useblocks = true,
},
-- if you are developing in projects with different java versions, you need
-- to tell eclipse.jdt.ls to use the location of the jdk for your java version
-- see https://github.com/eclipse/eclipse.jdt.ls/wiki/running-the-java-ls-server-from-the-command-line#initialize-request
-- and search for `interface runtimeoption`
-- the `name` is not arbitrary, but must match one of the elements from `enum executionenvironment` in the link above
configuration = {
runtimes = {
{
name = "JavaSE-17",
path = home .. "/.local/share/asdf/installs/java/oracle-17.0.11/",
},
{
name = "JavaSE-21",
path = home .. "/.local/share/asdf/installs/java/oracle-21.0.2/",
},
{
name = "JavaSE-1.8",
path = home .. "/.local/share/asdf/installs/java/adoptopenjdk-8.0.412+8/"
},
}
}
}
},
-- cmd is the command that starts the language server. whatever is placed
-- here is what is passed to the command line to execute jdtls.
-- note that eclipse.jdt.ls must be started with a java version of 17 or higher
-- see: https://github.com/eclipse/eclipse.jdt.ls#running-from-the-command-line
-- for the full list of options
cmd = {
home .. "/.local/share/asdf/installs/java/oracle-21.0.2/bin/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',
'-Xmx4G',
'--add-modules=ALL-SYSTEM',
'--add-opens', 'java.base/java.util=ALL-UNNAMED',
'--add-opens', 'java.base/java.lang=ALL-UNNAMED',
-- if you use lombok, download the lombok jar and place it in ~/.local/share/eclipse
'-javaagent:' .. home .. '/.local/share/nvim/mason/packages/jdtls/lombok.jar',
-- the jar file is located where jdtls was installed. this will need to be updated
-- to the location where you installed jdtls
'-jar', vim.fn.glob(
home ..
'/.local/share/nvim/mason/packages/jdtls/plugins/org.eclipse.equinox.launcher_*.jar'),
-- the configuration for jdtls is also placed where jdtls was installed. this will
-- need to be updated depending on your environment
'-configuration', home .. '/.local/share/nvim/mason/packages/jdtls/config_linux',
-- use the workspace_folder defined above to store data for this project
'-data', workspace_folder,
},
}
jdtls.start_or_attach(config)
end
},
{ 'onsails/lspkind-nvim' }, -- pictograms replace (?) with lspsaga
{
'j-hui/fidget.nvim',

View File

@@ -3,17 +3,38 @@ return {
'nvim-telescope/telescope.nvim',
version = '0.1.*',
dependencies = { 'nvim-lua/plenary.nvim' },
config = function()
local opts = { noremap = true, silent = true }
vim.keymap.set("n", "<leader>gh", require("telescope.builtin").git_bcommits, opts)
vim.keymap.set("n", "<leader>gb", require("telescope.builtin").git_branches, opts)
vim.keymap.set("n", "<leader>gs", require("telescope.builtin").git_status, opts)
end
},
{
'nvim-tree/nvim-tree.lua',
'nvim-telescope/telescope-ui-select.nvim',
dependencies = { 'nvim-telescope/telescope.nvim' },
config = function()
require('nvim-tree').setup {
view = {
width = 30,
side = 'left',
},
}
end,
dependencies = { 'nvim-tree/nvim-web-devicons' }
require("telescope").setup {
extensions = {
["ui-select"] = {
require("telescope.themes").get_dropdown()
}
}
}
require("telescope").load_extension("ui-select")
end
}
-- Don't really need it. Nicer than the default but that's it
-- {
-- 'nvim-tree/nvim-tree.lua',
-- config = function()
-- require('nvim-tree').setup {
-- view = {
-- width = 30,
-- side = 'left',
-- },
-- }
-- end,
-- dependencies = { 'nvim-tree/nvim-web-devicons' }
-- }
}

View File

@@ -3,9 +3,22 @@ return {
'rebelot/kanagawa.nvim',
config = function()
vim.opt.guifont = 'Source Code Pro for Powerline'
vim.cmd('colorscheme kanagawa')
vim.cmd('set termguicolors')
vim.opt.syntax = 'on'
require('kanagawa').setup({
colors = {
palette = {
lotusGray = "#F8F7F4",
lotusWhite0 = "#FBFBF9",
lotusWhite1 = "#F2F0E9",
lotusWhite2 = "#F8F7F2",
lotusWhite3 = "#F6F6F1",
lotusWhite4 = "#F4F1E6",
lotusWhite5 = "#FcFBF9",
}
}
})
vim.cmd('colorscheme kanagawa-lotus')
end
},
{ 'lunarvim/lunar.nvim' },