diff --git a/neovim/.config/nvim/after/plugin/remaps.lua b/neovim/.config/nvim/after/plugin/remaps.lua index d29844e..8e03cb9 100644 --- a/neovim/.config/nvim/after/plugin/remaps.lua +++ b/neovim/.config/nvim/after/plugin/remaps.lua @@ -110,6 +110,7 @@ vim.keymap.set("n", "dp", function() vim.diagnostic.goto_prev({ float = false }) end) vim.keymap.set("n", "do", ":lopen") +vim.keymap.set("n", "ds", u.open_error_on_stackoverflow) -- Git vim.keymap.set("n", "gg", ":G") diff --git a/neovim/.config/nvim/lua/daniil/utils.lua b/neovim/.config/nvim/lua/daniil/utils.lua index 5bdd108..0da625b 100644 --- a/neovim/.config/nvim/lua/daniil/utils.lua +++ b/neovim/.config/nvim/lua/daniil/utils.lua @@ -130,4 +130,15 @@ function M.get_colorscheme() end end +function M.open_error_on_stackoverflow() + local diagnostics = vim.lsp.diagnostic.get_line_diagnostics() + local selected_diagnostic = M.select_diagnostic(diagnostics, "Select diagnostic to open on Stack Overflow") + + local url = string.format("https://stackoverflow.com/search?q=%s", selected_diagnostic) + + M.open_url_in_browser(url) + + M.yank(selected_diagnostic) +end + return M