Custom borders for hovering and diagnostics

This commit is contained in:
2025-08-31 16:42:42 +02:00
parent 48d9ee83af
commit 949eb06300
7 changed files with 86 additions and 23 deletions

View File

@@ -75,6 +75,7 @@ vim.keymap.set('n', '<leader>oho', ':e ~/nixos/hosts<CR>')
vim.keymap.set('n', '<leader>ll', ':Lazy<CR>')
vim.keymap.set('n', '<leader>sw', function()
local word = vim.fn.expand("<cword>")
local replacement = vim.fn.input("Replace '" .. word .. "' with: ")
if replacement ~= "" then

View File

@@ -34,3 +34,5 @@ require("lazy").setup({
enabled = false,
},
})
require("utils.after")

View File

@@ -74,6 +74,17 @@ return {
end,
},
{
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- See the configuration section for more details
-- Load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
},
},
},
{
"hrsh7th/nvim-cmp",
dependencies = {
@@ -84,15 +95,17 @@ return {
},
config = function()
local cmp = require("cmp")
local border = "single"
local max_entries = 7
cmp.setup({
window = {
completion = cmp.config.window.bordered({
border = "rounded",
border = border,
scrollbar = false,
}),
documentation = cmp.config.window.bordered({
border = "rounded",
border = border,
scrollbar = false,
}),
},
@@ -112,8 +125,7 @@ return {
{ name = "buffer" },
{ name = "path" },
}),
performance = { max_view_entries = 25 },
performance = { max_view_entries = max_entries },
})
end
},
@@ -127,15 +139,7 @@ return {
local lspconfig = require("lspconfig")
-- Custom overwrites for servers
local server_settings = {
lua_ls = {
settings = {
Lua = {
diagnostics = { globals = { "vim" } },
},
},
},
}
local server_settings = {}
local capabilities = require("cmp_nvim_lsp").default_capabilities()
@@ -153,10 +157,12 @@ return {
vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
--vim.keymap.set("n", "<leader>e", vim.diagnostic.open_float, opts)
-- vim.keymap.set("n", "<leader>lq", vim.diagnostic.setloclist, opts)
vim.keymap.set("n", "]d", function()
vim.diagnostic.jump({count=1, float=true})
end, opts)
vim.keymap.set("n", "[d", function()
vim.diagnostic.jump({count=-1, float=true})
end, opts)
vim.keymap.set("n", "<leader>lwa", vim.lsp.buf.add_workspace_folder, opts)
vim.keymap.set("n", "<leader>lwr", vim.lsp.buf.remove_workspace_folder, opts)

View File

@@ -70,4 +70,35 @@ return {
},
config = true,
},
{
"debugloop/telescope-undo.nvim",
dependencies = {
{
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
},
},
keys = {
{
"<leader>u",
"<cmd>Telescope undo<cr>",
desc = "undo history",
},
},
opts = {
extensions = {
undo = {
side_by_side = true,
layout_strategy = "vertical",
layout_config = {
preview_height = 0.7,
},
},
},
},
config = function(_, opts)
require("telescope").setup(opts)
require("telescope").load_extension("undo")
end,
}
}

21
lua/utils/after.lua Normal file
View File

@@ -0,0 +1,21 @@
local function rounded_border()
return { '', '', '', '', '', '', '', '' }
end
-- Buffer the original fuction
local nvim_open_win = vim.api.nvim_open_win
-- Set color to a slight gray
vim.api.nvim_set_hl(0, 'FloatBorder', { bg = 'None', fg = '#a0a0a0' })
vim.api.nvim_set_hl(0, 'NormalFloat', { bg = 'None' })
-- Border overwrite
vim.api.nvim_open_win = function(buf, enter, opts)
opts = opts or {}
if opts.border == nil then
opts.border = rounded_border()
end
return nvim_open_win(buf, enter, opts)
end

View File

@@ -71,9 +71,10 @@ function M.get_lsp_servers()
end
if vim.fn.executable("deno") == 1 then
table.insert(servers, "denols")
--table.insert(servers, "denols")
table.insert(servers, "ts_ls")
else
warn_once("deno", "[mason] Skipping denols (deno not found)")
warn_once("deno", "[mason] Skipping denols and tsserver (deno not found)")
end
-- Only configure zig when in local environment