summaryrefslogtreecommitdiffstatshomepage
path: root/nvim
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-02-10 13:34:13 -0600
committerToby Vincent <tobyv13@gmail.com>2023-02-10 13:34:13 -0600
commit26ead60459fdc25c7d988ac0005c87a02f6ff198 (patch)
tree2d820df739310b963d3bc9c6896cf4294bde924f /nvim
parent6f1c9918ff005039de41992a4ed24ac2df5e435b (diff)
fix(nvim): improve diagnostic keymaps and fix lints
Diffstat (limited to 'nvim')
-rw-r--r--nvim/.config/nvim/lua/tobyvin/diagnostic.lua26
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua20
-rw-r--r--nvim/.config/nvim/lua/tobyvin/plugins/sessions.lua1
-rw-r--r--nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua14
4 files changed, 29 insertions, 32 deletions
diff --git a/nvim/.config/nvim/lua/tobyvin/diagnostic.lua b/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
index b031cb1..88953bb 100644
--- a/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
+++ b/nvim/.config/nvim/lua/tobyvin/diagnostic.lua
@@ -1,4 +1,4 @@
-local utils = require("tobyvin.utils.diagnostic")
+local diagnostic = require("tobyvin.utils.diagnostic")
vim.diagnostic.config({
virtual_text = {
@@ -9,26 +9,20 @@ vim.diagnostic.config({
update_in_insert = true,
severity_sort = true,
float = {
+ source = "always",
border = "single",
scope = "cursor",
},
})
-vim.fn.sign_define("DiagnosticSignError", utils.signs.error)
-vim.fn.sign_define("DiagnosticSignWarn", utils.signs.warn)
-vim.fn.sign_define("DiagnosticSignInfo", utils.signs.info)
-vim.fn.sign_define("DiagnosticSignHint", utils.signs.hint)
+vim.fn.sign_define("DiagnosticSignError", diagnostic.signs.error)
+vim.fn.sign_define("DiagnosticSignWarn", diagnostic.signs.warn)
+vim.fn.sign_define("DiagnosticSignInfo", diagnostic.signs.info)
+vim.fn.sign_define("DiagnosticSignHint", diagnostic.signs.hint)
-vim.keymap.set("n", "]d", utils.goto_next, { desc = "next diagnostic" })
-vim.keymap.set("n", "[d", utils.goto_prev, { desc = "prev diagnostic" })
vim.keymap.set("n", "gl", vim.diagnostic.open_float, { desc = "open diagnostic float" })
vim.keymap.set("n", "gL", vim.diagnostic.setqflist, { desc = "qf diagnostic" })
-
-vim.api.nvim_create_autocmd("CursorHold", {
- callback = function()
- vim.diagnostic.open_float({
- focus = false,
- close_events = { "InsertEnter", "CursorMoved" },
- })
- end,
-})
+vim.keymap.set("n", "]g", vim.diagnostic.goto_next, { desc = "next diagnostic" })
+vim.keymap.set("n", "[g", vim.diagnostic.goto_prev, { desc = "prev diagnostic" })
+vim.keymap.set("n", "]G", diagnostic.goto_next_workspace, { desc = "next workspace diagnostic" })
+vim.keymap.set("n", "[G", diagnostic.goto_prev_workspace, { desc = "prev workspace diagnostic" })
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
index 0edc5e2..561dcff 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/lualine.lua
@@ -10,7 +10,7 @@ local M = {
function M.config()
local lualine = require("lualine")
- local utils = require("tobyvin.utils.diagnostic")
+ local diagnostic = require("tobyvin.utils.diagnostic")
local winbar_cond = function()
return vim.bo.buflisted and (vim.fn.bufname() ~= "" or require("nvim-navic").is_available())
@@ -53,19 +53,19 @@ function M.config()
lualine_c = {
{
"diagnostics",
- source = { utils.count },
+ source = { diagnostic.count },
symbols = {
- error = utils.signs.error.text,
- warn = utils.signs.warn.text,
- info = utils.signs.info.text,
- hint = utils.signs.hint.text,
+ error = diagnostic.signs.error.text,
+ warn = diagnostic.signs.warn.text,
+ info = diagnostic.signs.info.text,
+ hint = diagnostic.signs.hint.text,
},
diagnostics_color = {
- error = utils.signs.error.hl,
- warn = utils.signs.warn.hl,
- info = utils.signs.info.hl,
- hint = utils.signs.hint.hl,
+ error = diagnostic.signs.error.hl,
+ warn = diagnostic.signs.warn.hl,
+ info = diagnostic.signs.info.hl,
+ hint = diagnostic.signs.hint.hl,
},
update_in_insert = true,
color = "StatusLineNC",
diff --git a/nvim/.config/nvim/lua/tobyvin/plugins/sessions.lua b/nvim/.config/nvim/lua/tobyvin/plugins/sessions.lua
index fd0e1ee..11968c4 100644
--- a/nvim/.config/nvim/lua/tobyvin/plugins/sessions.lua
+++ b/nvim/.config/nvim/lua/tobyvin/plugins/sessions.lua
@@ -1,3 +1,4 @@
+---@diagnostic disable: missing-parameter, duplicate-set-field
local M = {
"echasnovski/mini.sessions",
name = "sessions",
diff --git a/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua b/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua
index af0be41..9a41639 100644
--- a/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua
+++ b/nvim/.config/nvim/lua/tobyvin/utils/diagnostic.lua
@@ -61,10 +61,12 @@ end
local function get_buffers(opts)
local buffers = {}
+
local diagnostics = vim.diagnostic.get(nil, opts)
for _, diagnostic in ipairs(diagnostics) do
- if not vim.tbl_contains(buffers, diagnostic.bufnr) then
- table.insert(buffers, diagnostic.bufnr)
+ local bufnr = diagnostic.bufnr --[[@as number]]
+ if not vim.tbl_contains(buffers, bufnr) then
+ table.insert(buffers, bufnr)
end
end
@@ -112,8 +114,8 @@ end
---@param opts table?
---@param search_forward boolean Search forward
local function goto_diagnostic(opts, search_forward)
- opts = vim.F.if_nil(opts, {})
- opts.wrap = vim.F.if_nil(opts.wrap, true)
+ opts = opts or {}
+ opts.wrap = opts.wrap == nil or opts.wrap
local win_id = opts.win_id or vim.api.nvim_get_current_win()
local get_pos, goto_pos
@@ -141,14 +143,14 @@ end
--- Move to the next diagnostic in the workspace.
---
---@param opts table?
-function M.goto_next(opts)
+function M.goto_next_workspace(opts)
goto_diagnostic(opts, true)
end
--- Move to the prev diagnostic in the workspace.
---
---@param opts table?
-function M.goto_prev(opts)
+function M.goto_prev_workspace(opts)
goto_diagnostic(opts, false)
end