From e9952923f6c98443ce4ad3cee4f005133bbbde63 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 13 Mar 2026 15:12:01 +0100 Subject: [PATCH] feat(nvim): add LSP noise filtering for log and diagnostic handlers --- nvim/lua/olinpin/init.lua | 1 + nvim/lua/olinpin/lsp-config.lua | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 nvim/lua/olinpin/lsp-config.lua diff --git a/nvim/lua/olinpin/init.lua b/nvim/lua/olinpin/init.lua index 4f03350..f91ba13 100644 --- a/nvim/lua/olinpin/init.lua +++ b/nvim/lua/olinpin/init.lua @@ -2,6 +2,7 @@ require("olinpin.set") require("olinpin.lazy") require("olinpin.remap") require("olinpin.commands") +require("olinpin.lsp-config") -- this needs to be set after lazy vim.o.timeoutlen = 0 diff --git a/nvim/lua/olinpin/lsp-config.lua b/nvim/lua/olinpin/lsp-config.lua new file mode 100644 index 0000000..08b61f5 --- /dev/null +++ b/nvim/lua/olinpin/lsp-config.lua @@ -0,0 +1,27 @@ +-- LSP error filtering and configuration + +-- Filter out noise from LSP logs +local original_handler = vim.lsp.handlers["window/logMessage"] +vim.lsp.handlers["window/logMessage"] = function(err, result, ctx, config) + -- Suppress harper-ls didSave warnings (harmless) + if result and result.message and result.message:match("didSave.*not implemented") then + return + end + -- Call original handler for other messages + if original_handler then + return original_handler(err, result, ctx, config) + end +end + +-- Filter publish_diagnostics to exclude minio temp file errors +local original_diagnostics = vim.lsp.handlers["textDocument/publishDiagnostics"] +vim.lsp.handlers["textDocument/publishDiagnostics"] = function(err, result, ctx, config) + if result and result.uri then + if result.uri:match("minio%-data") or result.uri:match("%.minio%.sys") then + return + end + end + if original_diagnostics then + return original_diagnostics(err, result, ctx, config) + end +end